You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言如何从txt文件中筛选能被2整除的数字并输出对应提示

实现说明

你当前的代码仅完成了文件逐行读取的基础逻辑,还缺少字符串转整数、整除判断两个核心步骤,同时需要补充文件操作的容错逻辑避免程序异常。


修正后完整代码

#include <stdio.h>
#include <stdlib.h> // 用于调用atoi字符串转整数函数

int main(){
    FILE* file = fopen("input.txt", "r");
    // 容错判断:文件打开失败直接提示退出
    if (file == NULL) {
        printf("无法打开input.txt,请检查文件路径是否正确\n");
        return 1;
    }

    char load[100];
    printf("可被2整除的数字如下:\n");
    while (fgets(load, sizeof load, file) != NULL) {
        // 可选:跳过输入文件里的{、}符号行
        if (load[0] == '{' || load[0] == '}') {
            continue;
        }
        // 把读取到的字符串格式数字转为整数
        int num = atoi(load);
        // 取模判断是否能被2整除
        if (num % 2 == 0) {
            printf("%d\n", num);
        } else {
            printf("Try different number.\n");
        }
    }
    // 操作结束关闭文件释放资源
    fclose(file);
    return 0;
}

核心修改点

  • 补充了文件打开失败的判空逻辑,避免空指针访问导致程序崩溃
  • 使用atoi()函数将读取到的字符串内容转换为可计算的整数类型
  • 通过取模运算符%做整除判断:整数对2取模结果为0即为偶数,符合筛选要求
  • 新增了文件关闭逻辑,避免资源泄漏

内容的提问来源于stack exchange,提问作者user17277981

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:27:05