2)编程有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号,姓名,三门课成绩),计算出总成绩,将原有的数据和计算出的总分数存放在磁盘文件stu.txt中。提示:首先以写方式打开文件stu.txt,由于学生人数已知,所以用for循环,对每个学生的信息从键盘输入,然后用fprintf()函数写入文件,最后关闭文件。源代码:
时间: 2024-01-03 14:06:06 浏览: 92
以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
FILE *fp;
int i, j, sum;
fp = fopen("stu.txt", "w"); // 以写方式打开文件
// 写入表头
fprintf(fp, "学号\t姓名\t成绩1\t成绩2\t成绩3\t总成绩\n");
// 输入每个学生的信息并计算总成绩
for (i = 1; i <= 5; i++) {
char name[20];
int scores[3];
printf("请输入第%d个学生的姓名和成绩:\n", i);
scanf("%s %d %d %d", name, &scores[0], &scores[1], &scores[2]);
// 计算总成绩
sum = 0;
for (j = 0; j < 3; j++) {
sum += scores[j];
}
// 将学生信息和总成绩写入文件
fprintf(fp, "%d\t%s\t%d\t%d\t%d\t%d\n", i, name, scores[0], scores[1], scores[2], sum);
}
fclose(fp); // 关闭文件
return 0;
}
```
在运行程序后,会提示输入每个学生的姓名和成绩,然后程序会自动计算总成绩并将所有信息写入文件。最后生成的stu.txt文件内容如下:
```
学号 姓名 成绩1 成绩2 成绩3 总成绩
1 张三 80 90 85 255
2 李四 75 88 92 255
3 王五 85 76 89 250
4 赵六 92 83 87 262
5 钱七 89 91 82 262
```
其中,学号是程序自动生成的,姓名和成绩是从键盘输入的。
阅读全文