C语言编程文本文件score.txt中保存有一组学生的成绩(为整数),成绩之间用空格分割,成绩个数未知;要求从该文件读取数据,计算平均成绩、最高分和最低分,并将结果输出到文件result.txt中,其中平均分保留两位小数。 【输入形式】 【输出形式】 【样例输入】假设score.txt中的数据为:90 80 70 60 【样例输出】result.txt中的数据为:75.00 90 60
时间: 2024-03-17 21:45:49 浏览: 107
好的,我已经记录下了你的问题。下面是 C 语言的程序示例,可以完成你的要求:
```c
#include <stdio.h>
int main() {
FILE *fp_score = fopen("score.txt", "r");
FILE *fp_result = fopen("result.txt", "w");
int score, sum = 0, count = 0, max = 0, min = 100;
while (fscanf(fp_score, "%d", &score) != EOF) {
sum += score;
count++;
if (score > max) {
max = score;
}
if (score < min) {
min = score;
}
}
double average = (double)sum / count;
fprintf(fp_result, "%.2lf %d %d", average, max, min);
fclose(fp_score);
fclose(fp_result);
return 0;
}
```
程序中首先打开输入文件和输出文件,并定义一些变量,分别表示读取到的分数、分数总和、分数个数、最高分和最低分。然后使用 `fscanf` 函数从文件中读取分数,如果文件未结束(`EOF`),则进行计算。最后计算平均分,将结果写入输出文件。
注意:程序中的文件路径是相对路径,即在与程序同一目录下的文件。如果文件不在同一目录下,需要修改文件路径。
阅读全文