编程有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号,姓名,三门课成绩),计算出总成绩,将原有的数据和计算出的总分数存放在磁盘文件stu.txt中。 提示:首先以写方式打开文件stu.txt,由于学生人数已知,所以用for循环,对每个学生的信息从键盘输入,然后用fprintf()函数写入文件,最后关闭文件。
时间: 2024-01-03 08:03:27 浏览: 18
好的,下面是代码实现:
```c
#include <stdio.h>
int main() {
FILE *fp;
int i, j;
char id[5], name[20];
float score[3], total_score;
fp = fopen("stu.txt", "w"); // 以写方式打开文件stu.txt
for (i = 1; i <= 5; i++) { // 循环输入5个学生的信息
printf("请输入第%d个学生的学号、姓名和三门课成绩:\n", i);
scanf("%s %s", id, name);
total_score = 0;
for (j = 0; j < 3; j++) {
scanf("%f", &score[j]);
total_score += score[j];
}
fprintf(fp, "%s %s %.2f %.2f %.2f %.2f\n", id, name, score[0], score[1], score[2], total_score); // 将学生信息和总分数写入文件
}
fclose(fp); // 关闭文件
return 0;
}
```
其中,`fopen()`函数用于打开文件,它的第一个参数是文件名,第二个参数是打开文件的方式,这里我们用"w"表示以写方式打开文件;`fprintf()`函数用于将数据写入文件,它的第一个参数是文件指针,后面的参数按照格式化字符串的方式给出。最后,记得关闭文件,以释放资源。