有五个学生,每个学生有3门课的成绩,用c语言写一个程序,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
时间: 2023-05-25 21:03:13 浏览: 126
c语言专业课程设计学生成绩标准管理系统.doc
```c
#include<stdio.h>
#include<stdlib.h>
typedef struct student // 定义学生结构体
{
int id; // 学号
char name[20]; // 姓名
float score[3]; // 三门课成绩
float avg_score; // 平均成绩
} Student;
int main()
{
Student stu[5]; // 存放5个学生的信息
FILE* fp; // 文件指针
int i, j;
// 从键盘输入学生信息
for (i = 0; i < 5; i++)
{
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号:");
scanf("%d", &stu[i].id);
printf("姓名:");
scanf("%s", stu[i].name);
for (j = 0; j < 3; j++)
{
printf("第%d门课成绩:", j + 1);
scanf("%f", &stu[i].score[j]);
}
}
// 计算平均成绩
for (i = 0; i < 5; i++)
{
stu[i].avg_score = 0;
for (j = 0; j < 3; j++)
{
stu[i].avg_score += stu[i].score[j];
}
stu[i].avg_score /= 3;
}
// 将结果存入文件
fp = fopen("stud", "w");
if (fp == NULL)
{
printf("无法打开文件");
exit(1);
}
for (i = 0; i < 5; i++)
{
fprintf(fp, "%d %s", stu[i].id, stu[i].name);
for (j = 0; j < 3; j++)
{
fprintf(fp, " %.2f", stu[i].score[j]); // 保留两位小数
}
fprintf(fp, " %.2f\n", stu[i].avg_score);
}
fclose(fp);
printf("数据已存入文件。\n");
return 0;
}
```
阅读全文