要求定义结构体数据类型,包括num(学号),name(姓名), scorer51(5门课成绩),aver(S门课平均成绩),和sum(门课总成绩),要求将下面功能都编写成独立的函数
时间: 2024-03-02 20:51:13 浏览: 94
好的,根据你的要求,我可以为你编写以下几个独立的函数:
1. 定义结构体数据类型:
```c++
struct student {
int num; // 学号
char name[20]; // 姓名
float score[5]; // 5门课成绩
float aver; // 平均分
float sum; // 总分
};
```
2. 输入五名同学的信息:
```c++
void inputStudentInfo(student *stu) {
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的学号:", i+1);
scanf("%d", &stu[i].num);
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", stu[i].name);
printf("请输入第%d个学生的5门课成绩:", i+1);
for (int j = 0; j < 5; j++) {
scanf("%f", &stu[i].score[j]);
stu[i].sum += stu[i].score[j];
}
stu[i].aver = stu[i].sum / 5;
}
}
```
3. 输出五名同学的信息:
```c++
void outputStudentInfo(student *stu) {
for (int i = 0; i < 5; i++) {
printf("学号:%d\n", stu[i].num);
printf("姓名:%s\n", stu[i].name);
printf("五门课成绩:");
for (int j = 0; j < 5; j++) {
printf("%.2f ", stu[i].score[j]);
}
printf("\n");
printf("总分:%.2f\n", stu[i].sum);
printf("平均分:%.2f\n", stu[i].aver);
printf("\n");
}
}
```
4. 计算五名同学的平均分:
```c++
float calcAver(student *stu) {
float sum = 0;
for (int i = 0; i < 5; i++) {
sum += stu[i].aver;
}
return sum / 5;
}
```
5. 查找成绩最高的同学:
```c++
void findHighest(student *stu) {
int maxIndex = 0;
float maxScore = 0;
for (int i = 0; i < 5; i++) {
if (stu[i].sum > maxScore) {
maxScore = stu[i].sum;
maxIndex = i;
}
}
printf("成绩最高的同学是:%s\n", stu[maxIndex].name);
printf("总分:%.2f\n", stu[maxIndex].sum);
}
```
阅读全文