首页 新闻 会员 周边 捐助

新手求助 大神们帮看看 open上的一道题 1.10 03 成绩排序 不知道为啥只给六分 我感觉没啥不对的 望指点

0
悬赏园豆:30 [已解决问题] 解决于 2018-12-03 13:56

include <stdio.h>

include <string.h>

void z(char b[100],char a[100][100],int n,int c[100])
{
int i,j,temp;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(c[i]==c[j])
{
if(a[i][0]<a[j][0])
{
temp=c[i];
c[i]=c[j];
c[j]=temp;
strcpy(b,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],b);
}
}
if(c[i]>c[j])
{
temp=c[i];
c[i]=c[j];
c[j]=temp;
strcpy(b,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],b);
}
}
}
for(i=0;i<n;i++)
{
printf("%s %d\n",a[i],c[i]);
}
}
int main()
{
int i,j,n,temp;
char a[100][100],b[100];
int c[100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d",b,&c[i]);
strcpy(a[i],b);
}
z(b,a,n,c);
}

打着玩的主页 打着玩 | 初学一级 | 园豆:132
提问于:2018-12-02 15:34

代码块、

Shendu.CC 6年前
< >
分享
最佳答案
0

错误原因很简单,题目要求你成绩相同按照名字字典序排序,你的程序没有做到这一点。

收获园豆:30
Shendu.CC | 老鸟四级 |园豆:2138 | 2018-12-03 10:09

大神好厉害啊,一下就看出来了!

古宇 | 园豆:476 (菜鸟二级) | 2018-12-03 17:01
其他回答(1)
0

检查看看是不是scanf中间空格导致的

Hk_Mayfly | 园豆:206 (菜鸟二级) | 2018-12-02 16:14

空格不影响吧 以前有的也是用空格

支持(0) 反对(0) 打着玩 | 园豆:132 (初学一级) | 2018-12-02 16:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册