C语言:关于结构体数组
发布网友
发布时间:2022-09-28 19:40
我来回答
共2个回答
热心网友
时间:2023-09-26 10:07
你不明白char name[20],name就是名字的地址吧?scanf()里面用的时候不能再加&号了,因为它本身就是内存地址。
你不明白一个数组的下标是从0开始,到N-1结束,如st[5]里面的下标是从0到4,所以应以下改。
int main()
{
int i,j,sum1=0,sum2=0,sum3=0,sum,sumper[10]={0},average,sumhigh=0;
struct student st[5];
for(i=0;i<5;i++)
{
printf("�材%d��?�獭�:\n\t﹎�\tΘ1\tΘ2\tΘ3\n",i);
scanf("%d\t%s\t%d\t%d\t%d",&st[i].num,st[i].name,&st[i].score[0],&st[i].score[1],&st[i].score[2]);
sum1+= st[i].score[0];
sumper[i]=st[i].score[0]+st[i].score[1]+st[i].score[2];
sum2+= st[i].score[1];
sum3+= st[i].score[2];
}
sum=sum1+sum2+sum3;
average=sum/3/5;
for(i=0;i<5;i++)
if(sumhigh<sumper[i])
{
sumhigh=sumper[i];
j=i;
}
printf("�祘�キАΘ�%d\n",average);
printf("程蔼だネ\n");
printf("�%d ﹎��%s材�Θ:%d材�Θ:%d材�Θ:%d",st[j].num,st[j].name,st[j].score[0],st[j].score[1],st[j].score[2]);
//getch();
return 0;
}
我是繁体系统,改不了简体。
热心网友
时间:2023-09-26 10:07
没有分。