蒟蒻求救,字符无法输出

P5740 【深基7.例9】最厉害的学生

@[BEAR_ABSURD](/user/1107271) 你的循环是干嘛的 我没看明白他有啥用 我也是蒟蒻
by GSPLXM @ 2023-12-28 15:32:36


~~有没有一可能名字是字符串~~
by a_tianfy @ 2023-12-28 22:03:40


@[BEAR_ABSURD](/user/1107271) 名字应该要用字符串吧
by lpk1118 @ 2024-01-01 21:06:35


```c #include<stdio.h> #include<string.h> int main(){ char a1[1002]; char a[1002]; int n,i,j,s,ch,ch1; int ma,ma1,es,es1,maxn=-1; scanf("%d",&n); scanf("%s%d%d%d",a,&ch,&ma,&es); strcpy(a1,a); for(i=1;i<=n-1;i++){ s=ch+ma+es; if(s>maxn || s==maxn && strcmp(a,a1)<0){ strcpy(a1,a); maxn=s; ch1=ch; ma1=ma; es1=es; } scanf("%s%d%d%d",a,&ch,&ma,&es); } s=ch+ma+es; if(s>maxn || s==maxn && strcmp(a,a1)<0){ strcpy(a1,a); maxn=s; ch1=ch; ma1=ma; es1=es; } printf("%s %d %d %d",a1,ch1,ma1,es1); return 0; } ``` 帮你改了一下,得了80,里面蕴含的知识点值得你消化消化,至于20分我不知道错哪,但总体思路是可以的
by H2330819074 @ 2024-01-30 15:35:54


@[BEAR_ABSURD](/user/1107271) 刚刚我想复杂了,依据你的代码,我做出了相应的修改,全AC了```c #include<stdio.h> #include<string.h> int main(){ char a1[1002]; char a[1002];//字符串,用于储存名字 ,所以用数组 int n,i,j,s,ch,ch1; int ma,ma1,es,es1,maxn=-1; scanf("%d",&n); scanf("%s%d%d%d",a,&ch,&ma,&es);//a,而不是&a,是因为这是字符串的输入规则 for(i=1;i<=n-1;i++){ s=ch+ma+es; if(s>maxn){ strcpy(a1,a); maxn=s; ch1=ch; ma1=ma; es1=es; } scanf("%s%d%d%d",a,&ch,&ma,&es); } s=ch+ma+es; if(s>maxn){ strcpy(a1,a); maxn=s; ch1=ch; ma1=ma; es1=es; } printf("%s %d %d %d",a1,ch1,ma1,es1); return 0; } ```
by H2330819074 @ 2024-01-30 16:38:21


@[BEAR_ABSURD](/user/1107271) 全正确的代码如下:```c ```c #include<stdio.h> #include<string.h> int main(){ char a1[1002]; char a[1002];//字符串,用于储存名字 ,所以用数组 int n,i,j,s,ch,ch1; int ma,ma1,es,es1,maxn=-1; scanf("%d",&n); scanf("%s%d%d%d",a,&ch,&ma,&es);//a,而不是&a,是因为这是字符串的输入规则 for(i=1;i<=n-1;i++){ s=ch+ma+es; if(s>maxn){ strcpy(a1,a); maxn=s; ch1=ch; ma1=ma; es1=es; } scanf("%s%d%d%d",a,&ch,&ma,&es); } s=ch+ma+es; if(s>maxn){ strcpy(a1,a); maxn=s; ch1=ch; ma1=ma; es1=es; } printf("%s %d %d %d",a1,ch1,ma1,es1); return 0; } ``` ```
by H2330819074 @ 2024-01-30 16:40:22


|