#include<stdio.h>
/*
定义一个学生的结构体,
成员变量有名字、学籍号、某一学科的成绩。
分别从键盘读入两个学生的信息。
最后再后台输出谁的成绩好就在公告栏里表彰出来,
如果成绩相同,那么就在公告栏中一同显示出来。
*/
//定义一个结构体类型
struct Student {
char name[20]; //名字
char idNum[20]; //学籍号
float score;
};
void compare(struct Student stus[],int count);
int main() {
//定义结构体类型的结构体数组
struct Student stu[2];
for (int i = 0; i < 2; ++i)
{
printf("请输入第%d个学生的姓名:\n",i+1);
//输入学生的姓名
scanf("%s",stu[i].name);
printf("请输入第%d个学生的学籍号:\n",i+1);
//输入学生的学籍号
scanf("%s",stu[i].idNum);
printf("请输入第%d个学生的成绩:\n",i+1);
//输入学生的成绩
scanf("%f",&stu[i].score);
}
// //讲学生的信息打印
// for (int i = 0; i < 2; ++i)
// {
// struct Student *p = &stu[i];
// printf("姓名:%s 学籍号:%s 成绩:%.2f\n",p->name,p->idNum,p->score);
// }
compare(stu,2);
return 0;
}
void compare(struct Student stus[],int count) {
float max = 0;
struct Student *maxStu;
for (int i = 0; i < count; ++i)
{
//取得学生的成绩
float score = stus[i].score;
if (max < score)
{
max = score;
maxStu = &stus[i];
}
}
if (stus[0].score == stus[1].score)
{
//讲学生的信息打印
for (int i = 0; i < 2; ++i)
{
struct Student *p = &stus[i];
printf("姓名:%s 学籍号:%s 成绩:%.2f\n",p->name,p->idNum,p->score);
}
}
else
printf("表彰的学生信息:名字:%s 学籍号:%s 成绩:%.2f\n",maxStu->name,maxStu->idNum,maxStu->score);
}
学生成绩的录入与输出
最新推荐文章于 2023-03-18 16:47:04 发布