考试结束后老师登记两个学生的成绩,学生的基本信息包括姓名(chName)、期中成绩(iMiddle)、期末成绩(iFinal)和平均成绩(fAve),请编写程序存储所输入的成绩,在程序中编写一个函数比较两个学生的成绩,将平均分数较高的同学的成绩单输出。 步骤 1) 在主函数中定义学生信息结构体struct student。 2) 声明用户自定义函数。 3) 使用学生信息结构体定义相关变量stu1, stu2,也可以考虑使用数组保存学生信息。 4) 在主函数中输入数据并且调用函数。 5) 在主函数中调用自定义函数,以参数的形式输入学生信息,打印平均成绩。
时间: 2023-04-02 14:00:51 浏览: 111
我可以回答这个问题。以下是程序的代码:
#include <stdio.h>
struct student {
char chName[20];
int iMiddle;
int iFinal;
float fAve;
};
void compare(struct student stu1, struct student stu2) {
if (stu1.fAve > stu2.fAve) {
printf("%s的成绩单:\n期中成绩:%d\n期末成绩:%d\n平均成绩:%.2f\n", stu1.chName, stu1.iMiddle, stu1.iFinal, stu1.fAve);
} else {
printf("%s的成绩单:\n期中成绩:%d\n期末成绩:%d\n平均成绩:%.2f\n", stu2.chName, stu2.iMiddle, stu2.iFinal, stu2.fAve);
}
}
int main() {
struct student stu1, stu2;
printf("请输入第一个学生的信息:\n");
printf("姓名:");
scanf("%s", stu1.chName);
printf("期中成绩:");
scanf("%d", &stu1.iMiddle);
printf("期末成绩:");
scanf("%d", &stu1.iFinal);
stu1.fAve = (stu1.iMiddle + stu1.iFinal) / 2.;
printf("请输入第二个学生的信息:\n");
printf("姓名:");
scanf("%s", stu2.chName);
printf("期中成绩:");
scanf("%d", &stu2.iMiddle);
printf("期末成绩:");
scanf("%d", &stu2.iFinal);
stu2.fAve = (stu2.iMiddle + stu2.iFinal) / 2.;
compare(stu1, stu2);
return ;
}
阅读全文