#include?<stdio.h>
struct?stuu{
????int?num;
????char?name[20];
????double?score[3];
};
void?input(struct?stuu?stu[],int?n);//輸入
void?aver(struct?stuu?stu[],int?n);//總和平均分
void?big(sturct?stuu?stu[],int?n);//最高平均分
int?main()
{
????sturct?stuu?stu[5];
????
????input(stu,5);
????aver(stu,5);
????big(stu,5);
????
????return?0;
}
void?input(struct?stuu?stu[],int?n)
{
????int?i,j;
????for(i=0;i<n;i++)
????{
????????scanf("%d",&stu[i].num);
????????fflush(stdin);
????????gets(stu[i].name);
????????for(j=0;j<3;j++)
????????{
????????????scanf("%lf",&stu[i].score[j]);
?????????}
?????????
??????}
}
void?aver(struct?stuu?stu[],int?n)
{
????double?sum;
????int?i,j,k;
????sum=0;
????for(i=0;i<n;i++)
????{
????????for(j=0;;j<3;j++)
????????{
????????????sum=sum+stu[i].score[j];
?????????}
?????????
?????}
?????
?????printf("%.2lf\n",sum/15);
?????
}
????
void?big(struct?stuu?stu[],int?n)
{
????int?i,j,k;?int?snum=0;
????double?max=0;?double?compp[5]={0,0,0,0,0};
????
????for(i=0;i<n;i++)
????{
????????for(j=0;j<3;j++)
????????{
????????????compp[i]=stu[i].score[j]+compp[i];
?????????}
?????????if(compp[i]>max)
?????????{
?????????????max=compp[i];
?????????????snum=i;
??????????}
??????????
??????????printf("%d\n",stu[snum].num);
??????????printf("%s\n",stu[snum].name);
??????????for(k=0;k<3;k++)
??????????{
??????????????printf("%.2lf\n",stu[snum].score[k]);
??????????}
??????????printf("%.2f\n\n",compp[snum]/3);
}要求:1.輸入5個學生的學號,姓名,三科成績。2.輸出所有成績的和的平均分,3.輸出5個學生中平均分最高的人的學號,姓名,三科分數,平均分。自己試的時候沒發現什么問題,放到acm平臺結果是wrong answer。求大神指正,謝謝!
添加回答
舉報
0/150
提交
取消