文本文件score.txt中保存有一组学生的成绩(为整数),成绩之间用空格分割,成绩个数未知;要求从该文件读取数据,计算平均成绩、最高分和最低分,并将结果输出到文件result.txt中,其中平均分保留两位小数。c语言编写
时间: 2024-03-23 18:39:26 浏览: 173
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
好的,以下是实现该功能的C语言代码,注释中有详细的解释:
```c
#include <stdio.h>
int main() {
// 打开score.txt读取文件
FILE *fp = fopen("score.txt", "r");
if (fp == NULL) {
printf("无法打开score.txt文件!\n");
return 0;
}
// 读取文件中的成绩
int score, sum = 0, count = 0, max = 0, min = 100;
while (fscanf(fp, "%d", &score) == 1) {
// 计算总分、最高分和最低分
sum += score;
count++;
if (score > max) {
max = score;
}
if (score < min) {
min = score;
}
}
fclose(fp);
// 计算平均分
float average = (float)sum / (float)count;
// 输出结果到result.txt文件
FILE *fp_out = fopen("result.txt", "w");
if (fp_out == NULL) {
printf("无法打开result.txt文件!\n");
return 0;
}
fprintf(fp_out, "平均分:%.2f\n", average);
fprintf(fp_out, "最高分:%d\n", max);
fprintf(fp_out, "最低分:%d\n", min);
fclose(fp_out);
printf("结果已输出到result.txt文件!\n");
return 0;
}
```
使用该代码,可以实现从score.txt文件中读取成绩,计算平均分、最高分和最低分,并将结果输出到result.txt文件中。
阅读全文