回复 6楼 newdos
#include <stdio.h>
void shuru(void);
void qiuhepaixu(void);
void shuchu(void);
typedef struct student
{
long studentID;
char studentName[10];
int sum[30];
int a;
int b;
}STUDENT;
STUDENT stu[3];
void main()
{
shuru();
qiuhepaixu();
}
void shuru(void)
{
int i;
for(i=0;i<3;i++)
{
printf("请输入第%d个学生的学号 姓名 数学成绩 语文成绩\n",i+1);
scanf("%ld",&stu[i].studentID);
scanf("%s",&stu[i].studentName);
scanf("%d",&stu[i].a);
scanf("%d",&stu[i].b);
}
shuchu();
}
void shuchu(void)
{
int i,sum[30];
printf("学号\t 姓名\t 数学\t 语文\t 总分\n");
for(i=0;i<3;i++)
printf("%ld\t %s\t %d\t %d\t %d\n",stu[i].studentID,stu[i].studentName,stu[i].a,stu[i].b,sum[i]);
}
void qiuhepaixu(void)
{
int i,j,sum[30];
for(i=0;i<3;i++)
{
sum[i]=0;
sum[i]=stu[i].sum+stu[i].a+stu[i].b;
}
struct student temp;
for(i=0;i<3;i++)
{
for(j=i+1;j<4;j++)
{
if(stu[i].sum>stu[j].sum)
{
temp=stu[i];
stu[i]=stu[j];
stu[j]=temp;
}
}
}
shuchu();
}