有 5 个学生,每个学生有 3 门课的成绩,从键盘输入以下数据(包括学号、姓名、3 门 课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在用户目录下的 stud.dat 中
时间: 2024-01-03 11:04:11 浏览: 35
好的,您可以按照以下步骤来完成该操作:
1. 定义一个结构体来保存每个学生的信息和成绩:
```c
struct student {
int id;
char name[20];
float score1;
float score2;
float score3;
float average;
};
```
2. 在主函数中定义一个包含 5 个学生的结构体数组,从键盘输入每个学生的信息和成绩,并计算平均成绩:
```c
int main() {
struct student stud[5];
int i;
// 从键盘输入每个学生的信息和成绩,并计算平均成绩
for (i = 0; i < 5; i++) {
printf("Enter information for student %d:\n", i + 1);
printf("Enter student ID: ");
scanf("%d", &stud[i].id);
printf("Enter student name: ");
scanf("%s", stud[i].name);
printf("Enter score 1: ");
scanf("%f", &stud[i].score1);
printf("Enter score 2: ");
scanf("%f", &stud[i].score2);
printf("Enter score 3: ");
scanf("%f", &stud[i].score3);
// 计算平均成绩
stud[i].average = (stud[i].score1 + stud[i].score2 + stud[i].score3) / 3;
}
// 将学生信息和成绩保存到文件 stud.dat 中
FILE *fp;
fp = fopen("stud.dat", "wb");
if (fp == NULL) {
printf("Error opening file stud.dat");
exit(1);
}
fwrite(stud, sizeof(struct student), 5, fp);
fclose(fp);
printf("Student information and scores saved to stud.dat successfully.");
return 0;
}
```
在这个程序中,我们定义了一个包含 5 个学生的结构体数组 stud,并使用 for 循环从键盘输入每个学生的信息和成绩,并计算平均成绩。接着,我们使用 fwrite 函数将学生信息和成绩保存到文件 stud.dat 中,并使用 fclose 函数关闭文件。
注意,以上程序中的地址是示例地址,您需要根据实际情况修改文件路径。另外,这个程序是一个简单的示例,可能需要根据实际情况进行修改和完善。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)