#include<stdio.h>
int i,max1,max2,max3,sum1,sum2,sum3;
struct student
{
char name[10];
char sex[10];
int age;
int math;
int chinese;
int english;
};
struct student stu[5]={
{"yan lu","men ",20,90,80,99},
{"achang","women",19,96,79,98},
{"ji bo","men ",18,80,89,95},
{"nailiu","women",19,98,80,89},
{"zhangx","men ",21,81,86,82},
};
void chinese_no()
{
for(i=0;i<5;i++)
{
for(int j=0;j<5-i;j++)
{
if(stu[j].chinese>stu[j+1].chinese)
{
max1=stu[j].chinese;
stu[j].chinese=stu[j+1].chinese;
stu[j+1].chinese=max1;
}
}
}
for(i=5;i>0;i--)
{
printf("%d ",stu[i].chinese);
}
}
void english_no()
{
for(i=0;i<5;i++)
{
for(int j=0;j<5-i;j++)
{
if(stu[j].english>stu[j+1].english)
{
max1=stu[j].english;
stu[j].english=stu[j+1].english;
stu[j+1].english=max1;
}
}
}
for(i=5;i>0;i--)
{
printf("%d ",stu[i].math);
}
}
void math_no()
{
for(i=0;i<5;i++)
{
for(int j=0;j<5-i;j++)
{
if(stu[j].math>stu[j+1].math)
{
max1=stu[j].math;
stu[j].math=stu[j+1].math;
stu[j+1].math=max1;
}
}
}
for(i=5;i>0;i--)
{
printf("%d ",stu[i].math);
}
}
void average_math()
{
for(i=0;i<5;i++)
{
if(stu[i].math>(sum1/5))
{
printf("%s数学成绩在平均分以上是%d分\n",stu[i].name,stu[i].math);
}
}
}
void average_chinese()
{
for(i=0;i<5;i++)
{
if(stu[i].chinese>(sum2/5))
{
printf("%s语文成绩在平均分以上是%d分\n",stu[i].name,stu[i].chinese);
}
}
}
void average_english()
{
for(i=0;i<5;i++)
{
if(stu[i].english>(sum3/5))
{
printf("%s英语成绩在平均分以上是%d分\n",stu[i].name,stu[i].english);
}
}
}
void test()
{
max1=stu[0].math;
for(i=0;i<5;i++)
{
sum1=sum1+stu[i].math;
if(stu[i].math>max1)
{
max1=stu[i].math;
}
}
max2=stu[0].chinese;
for(i=0;i<5;i++)
{
sum2=sum2+stu[i].chinese;
if(stu[i].chinese>max2)
{
max2=stu[i].chinese;
}
}
max3=stu[0].english;
for(i=0;i<5;i++)
{
sum3=sum3+stu[i].chinese;
if(stu[i].english>max3)
{
max3=stu[i].chinese;
}
}
printf("\n数学最高的是%s,%d分\n",stu[3].name,max1);
printf("语文最高的是%s,%d分\n",stu[2].name,max2);
printf("英语最高的是%s,%d分\n",stu[0].name,max3);
printf("\n数学的总分是%d,平均分是%d\n",sum1,sum1/5);
printf("语文的总分是%d,平均分是%d\n",sum2,sum2/5);
printf("英语的总分是%d,平均分是%d\n\n",sum3,sum3/5);
}
int main()
{
printf("---------------成绩管理系统---------------\n");
printf("name sex age math chinese english\n");
int i,max1,max2,max3,sum1,sum2,sum3;
for(i=0;i<5;i++)
{
printf("%s %s %d %d %d %d\n",stu[i].name,stu[i].sex,stu[i].age,stu[i].math,stu[i].chinese,stu[i].english);
}
test();
average_math();
printf("\n");
average_chinese();
printf("\n");
average_english();
printf("\n");
printf("数学成绩由高到低为:");
math_no();
printf("\n语文成绩由高到低为:");
chinese_no();
printf("\n英语成绩由高到低为:");
english_no();
return 0;
}
