先利用文本编辑工具输入10个人的成绩,存放格式为:每人一行,成绩间由逗号分隔,并将数据保存到文件ci,dat中。然后用C语言编程读出该文件的内容,并计算3门课程的平均成绩,统计个人平均成绩大于或等于90分学生的人数
时间: 2024-05-04 13:22:23 浏览: 98
C语言程序设计-统计出若干个学生的平均成绩,最高分以及得最高分的人数;
5星 · 资源好评率100%
以下是实现上述功能的C语言代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
char filename[] = "ci.dat";
int count = 0;
float avg1 = 0, avg2 = 0, avg3 = 0;
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Failed to open file %s", filename);
return 1;
}
while (!feof(fp)) {
float score1, score2, score3;
fscanf(fp, "%f,%f,%f", &score1, &score2, &score3);
avg1 += score1;
avg2 += score2;
avg3 += score3;
float avg = (score1 + score2 + score3) / 3;
if (avg >= 90) {
count++;
}
}
fclose(fp);
avg1 /= count;
avg2 /= count;
avg3 /= count;
printf("Average score of course 1: %.2f\n", avg1);
printf("Average score of course 2: %.2f\n", avg2);
printf("Average score of course 3: %.2f\n", avg3);
printf("Number of students with average score >= 90: %d\n", count);
return 0;
}
```
在该代码中,我们首先打开名为“ci.dat”的文件,然后使用循环读取每一行数据,并计算出三门课程的平均成绩以及每个学生的平均成绩。最后,我们统计平均成绩大于或等于90分的学生的人数,并输出结果。
阅读全文