c语言 (1)先利用文本编辑工具(如记事本)输入10个人的成绩(英语、计算机、数学),存放格式为:每人一行,成绩间由逗号分隔,并将数据保存到文件cj.dat 中。然后用C语言编程读出该文件的内容,并计算3门课的平均成绩,统计个人平均成绩大于或等于90分的学生人数。
时间: 2023-07-15 17:12:57 浏览: 147
下面是实现要求的C语言代码:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("cj.dat", "r"); // 打开文件
if (fp == NULL) {
printf("无法打开文件\n");
return 0;
}
int count = 0; // 记录个人平均成绩大于等于90分的学生人数
float sum_eng = 0, sum_com = 0, sum_math = 0; // 分别记录3门课的总分
float score_eng, score_com, score_math; // 分别记录每个人的成绩
while (fscanf(fp, "%f,%f,%f", &score_eng, &score_com, &score_math) != EOF) {
// 读取每个人的成绩
sum_eng += score_eng;
sum_com += score_com;
sum_math += score_math;
float avg = (score_eng + score_com + score_math) / 3; // 计算个人平均成绩
if (avg >= 90) {
count++; // 统计个人平均成绩大于等于90分的学生人数
}
}
fclose(fp); // 关闭文件
printf("三门课的平均成绩分别为:\n");
printf("英语:%.2f\n", sum_eng / 10);
printf("计算机:%.2f\n", sum_com / 10);
printf("数学:%.2f\n", sum_math / 10);
printf("个人平均成绩大于等于90分的学生人数为:%d\n", count);
return 0;
}
```
请注意,上述代码假设数据文件中一共有10个人的成绩,并且每个人的成绩都是3门课。如果实际情况不符,需要对代码进行相应修改。此外,为了简化代码,上述代码没有进行错误处理,实际情况中需要根据具体情况进行必要的错误处理。
阅读全文