编程:输入两个学生3门课程(语、数、英)的基本信息,计算每个学生总分,并按总分由高到低输出学生信息表。
学生信息:学号、姓名、语、数、英、总分。
struct student{ /* 学生结构体 */
int num; /* 学号 */
char name[10]; /* 姓名 */
int chinese,math,english,total; /* 成绩 */
};
#include<stdio.h>
struct student{
int num;
char name[10];
int chinese,math,english,total;
};
int main()
{
struct student s[3];
int i;
for(i=1;i<3;i++)
{ printf("请输入%d个学生的基本信息:\n",i);
scanf("%d%s%d%d%d",&s[i].num,s[i].name,&s[i].chinese,&s[i].math,&s[i].english);
s[i].total=s[i].chinese+s[i].math+s[i].english;
}
printf("学号\t姓名\t语文\t数学\t英语\t总分\n");
if(s[1].total>=s[2].total)
{
printf("%d\t%s\t",s[1].num,s[1].name);
printf("%d\t%d\t%d\t%d\n",s[1].chinese,s[1].math,s[1].english,s[1].total);
printf("%d\t%s\t",s[2].num,s[2].name);
printf("%d\t%d\t%d\t%d\n",s[2].chinese,s[2].math,s[2].english,s[2].total);
}
else
{
printf("%d\t%s\t",s[2].num,s[2].name);
printf("%d\t%d\t%d\t%d\n",s[2].chinese,s[2].math,s[2].english,s[2].total);
printf("%d\t%s\t",s[1].num,s[1].name);
printf("%d\t%d\t%d\t%d\n",s[1].chinese,s[1].math,s[1].english,s[1].total);
}
}
当然,如果学生人数多一些的话,也可以使用数组