#include<stdio.h>
struct student
{
char name[20];
int xue;
char sex;
int age;
double cheng[4];
double ping;
}stu[1000];
int main()
{
int i,j,n;
double sum;
struct student item;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
sum=0.0;
scanf("%s %d %c %d",stu[i].name,&stu[i].xue,&stu[i].sex,&stu[i].age);
for(j=0;j<4;j++)
scanf("%lf",&stu[i].cheng[j]);
for(j=0;j<4;j++)
sum=sum+stu[i].cheng[j];
stu[i].ping=sum/4;
}
for(j=1;j<n;j++)
for(i=0;i<n;i++)
if(stu[i].ping<stu[i+1].ping)
{
item=stu[i];
stu[i]=stu[i+1];
stu[i+1]=item;
}
for(i=0;i<n;i++)
{
printf("%s %d %c %d ",stu[i].name,stu[i].xue,stu[i].sex,stu[i].age);
for(j=0;j<4;j++)
printf("%lf ",stu[i].cheng[j]);
printf("%lf ",stu[i].ping);
printf("\n");
}
return 0;
}
自己写的,你可以测试下,我的好像多个性别把,用M代表男,W代表女,还有什么问的。可追问 ,希望是你的满意答案,谢谢
追问void average(struct student stu1[]);和
main()
是两个函数么?
追答你写的两个都是函数啊,一个main函数是一个程序必不可少的,其余的函数可以自己定义,我的就一个函数吧,用了一个结构体
追问意思是 那个void 也是一样函数?
追答void average(struct student stu1[]);,这个吗??这个当然是了,void表示返回类型,函数名是average,后面是参数
本回答被提问者采纳