2023112626_duqunyao @ 2023-11-04 16:08:05
#include<stdio.h>
int sumScore(int a,int b,int c)
{
return a+b+c;
}
int maxScore(int a[],int n)
{
int max=0;
for(int i=0;i<n;i++)
{
if(a[i]>max) max=a[i];
}
return max;
}
int main()
{
int n;
scanf("%d",&n);
char name[n][8];
int score[n][3];
int sumscore[n];
int max,i;
for(int i=0;i<n;i++)
{
scanf("%s%d%d%d",&name[i],&score[i][0],&score[i][1],&score[i][2]);
sumscore[i]=sumScore(score[i][0],score[i][1],score[i][2]);
}
max=maxScore(sumscore,n);
for(i=0;i<n;i++)
{
if(sumscore[i]==max)
{
printf("%s %d %d %d",name[i],score[i][0],score[i][1],score[i][2]);
break;
}
}
}
用示例和0检验过了,以为万无一失……
正常输出的应该是cdoyjexz 150 124 148对吧
我不理解。。。
by 2023112626_duqunyao @ 2023-11-04 16:10:19
但是我把名字的字符数组设置为9就对了,不是很理解
by 2023111646a @ 2023-11-09 14:53:27
@2023112626_duqunyao 字符数组结尾自动添加‘/0’作为输入结束符,因此长度要加1