c语言请编写一个程序读取abc.txt中所有的数,计算其中非负数的平均值并输出,输出结果保留3位小数。
时间: 2024-03-26 09:35:42 浏览: 118
下面是参考代码:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("abc.txt", "r");
if (fp == NULL) {
printf("打开文件失败!");
return 1;
}
int count = 0;
double sum = 0;
int num;
while (fscanf(fp, "%d", &num) != EOF) {
if (num >= 0) {
count++;
sum += num;
}
}
if (count == 0) {
printf("没有非负数!");
} else {
double average = sum / count;
printf("非负数的平均值为:%.3f", average);
}
fclose(fp);
return 0;
}
```
程序使用 `fopen` 函数打开文件,然后使用 `fscanf` 函数读取文件中的数字。如果读取到的数字大于等于 0,则累加到总和中,并且计数器加 1。最后计算非负数的平均值并输出。注意要在输出时保留 3 位小数。如果文件中没有非负数,则输出提示信息。
注意:该代码只是参考代码,实际使用时请根据具体情况进行修改。
阅读全文