c语言有若干行,每行一个正整数,对应输出各位数字的和
时间: 2024-12-08 21:22:02 浏览: 19
在C语言中,如果你有一个包含一行一个正整数的文本文件或数组,你可以通过遍历每个数位并累加它们的方式来计算每一位的和。这里是一个简单的示例程序,它假设输入的是字符串表示的数字:
```c
#include <stdio.h>
#include <string.h>
int sumDigits(char *num) {
int len = strlen(num);
int sum = 0;
for (int i = 0; i < len; i++) {
if (isdigit(num[i])) { // 检查字符是否是数字
sum += num[i] - '0'; // 将字符转为数字并加入总和
}
}
return sum;
}
int main() {
char input[100]; // 假设输入不超过三位数
FILE *file = fopen("numbers.txt", "r"); // 假设文件名为numbers.txt
if (file != NULL) {
while (fgets(input, sizeof(input), file)) {
int sum = sumDigits(input);
printf("Number %s: Sum of digits is %d\n", input, sum);
}
fclose(file);
} else {
printf("Failed to open the file.\n");
}
return 0;
}
```
这个程序首先打开一个文件,然后逐行读取,对每一行的数字应用`sumDigits`函数,并打印出每位数字之和。
阅读全文