麻烦各位大神帮我看下哪里错了??为什么没输入完就冒出结果,还是错误的?? - 爱问答

(爱问答)

麻烦各位大神帮我看下哪里错了??为什么没输入完就冒出结果,还是错误的??

题目:  

给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

【输入】

第一行为n (0 < n < 20),表示班里的学生数目;

接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。

 

【输出】

把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。

【输入样例】

Kitty 80

Hanmeimei 90

Joey 92 

Tim 28

【输出样例】

Joey 92

Hanmeimei 90 

 Kitty 80 

Tim 28

我的代码:

#include<iostream>  

using namespace std;

int main()  

{  

    int n,b[21],i,j;

    char a[21];

    cin>>n;

    for(i=0;i<n;i++)

    {

    cin>>a[i]>>b[i];

}

for(i=n-1;i>=1;i--)

{

for(j=0;j<i;j++)

{

if(b[i]<b[i+1])

{

swap(a[i],a[i+1]);

swap(b[i],b[i+1]);

}

}

}

for(i=0;i<n;i++)

{

cout<<a[i]<<b[i];

cout<<endl;

}

    return 0;  

}

麻烦各位大神帮我看下哪里错了??为什么没输入完就冒出结果,还是错误的??

你的数据结构定义就是错的

    char a[21];

这个只是定义了21个字符数组,不是21个字串

正确的要用

    char a[21][21];

另外,你的排序也有问题(结果不对)

你自己先检查下


相关标签:大神

下一篇:580252880384这个是哪里的网络号码

上一篇:我的努比亚z17mini为什么不支持北京一卡通?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?