题目要求从键盘输入10个学生的学号、姓名,以及数学、语文和英语成绩,写入到文本文件f3.txt中,再从文件中取出数据,计算每个学生的总成绩和平均分,同时将结果显示在屏幕上的头c语言代码
时间: 2024-01-02 07:01:58 浏览: 136
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
FILE *fp;
char stu_id[20], stu_name[20];
float math_score, chinese_score, english_score, total_score, avg_score;
int i;
// 打开文件f3.txt,并向文件中写入学生信息
fp = fopen("f3.txt", "w");
for (i = 0; i < 10; i++) {
printf("请输入第%d个学生的学号:", i+1);
scanf("%s", stu_id);
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", stu_name);
printf("请输入第%d个学生的数学成绩:", i+1);
scanf("%f", &math_score);
printf("请输入第%d个学生的语文成绩:", i+1);
scanf("%f", &chinese_score);
printf("请输入第%d个学生的英语成绩:", i+1);
scanf("%f", &english_score);
fprintf(fp, "%s %s %.2f %.2f %.2f\n", stu_id, stu_name, math_score, chinese_score, english_score);
}
fclose(fp);
// 从文件f3.txt中读取学生信息,并计算每个学生的总成绩和平均分,并输出到屏幕上
fp = fopen("f3.txt", "r");
while (fscanf(fp, "%s %s %f %f %f", stu_id, stu_name, &math_score, &chinese_score, &english_score) != EOF) {
total_score = math_score + chinese_score + english_score;
avg_score = total_score / 3;
printf("%s %s 总成绩: %.2f 平均分: %.2f\n", stu_id, stu_name, total_score, avg_score);
}
fclose(fp);
return 0;
}
```
运行代码,按照题目要求输入学生信息,程序会自动将学生信息写入到文件f3.txt中,并从文件中读取学生信息,计算每个学生的总成绩和平均分,并输出到屏幕上。
阅读全文