以下代码,仅供参考:
#include<stdio.h>
#include<string.h>
//学生信息结构体
struct student{
char name[20];//姓名
int Chinese;//语文成绩
int Math;//数学成绩
int English;//英语成绩
int sum;//成绩总和
}s[1000];
int main()
{
int n,i,j;
scanf("%d",&n);//输入n 代表人数
//循环输入n位学生的信息
for(i=0;i<n;i++)
{
scanf("%s%d%d%d",s[i].name,&s[i].Chinese,&s[i].Math,&s[i].English);
s[i].sum=s[i].Chinese+s[i].Math+s[i].English; //成绩求和
}
//创建结构体变量stu
struct student stu;
//判断交换 找出成绩最好的
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(s[j].sum<s[j+1].sum)
{
stu=s[j];
s[j]=s[j+1];
s[j+1]=stu;
}
}
}
//输出最靠前的
printf("%s %d %d %d\n",s[0].name,s[0].Chinese,s[0].Math,s[0].English);
return 0;
}
运行结果如图:
以上仅供参考,如有任何疑问,可以评论回复,看到即回。
希望对题主有所帮助!可以的话,点个采纳!