欣欣celin 发表于 2014-5-1 18:36:43

代问一个C++数组 学号 成绩排序问题

本帖最后由 欣欣celin 于 2014-5-4 10:08 编辑

运计算同学问:C++数组 学号 成绩{{“01”,81},{“02”,65},{“03”,79},{“04”,65}},怎么 排列啊?按升幂降幂都行,学号 也一定跟着出来, 我自己只能实现成绩 排序, 实现不了 字符型数组学号的排列,


有劳各位大神路过帮帮忙,谢谢哦{:7_174:}

仰望天上的光 发表于 2014-5-1 18:36:44

你看看你的代码里成绩是怎么排序的?是不是有一个地方用到了比较成绩的操作如:if( a的成绩>b的成绩 )就交换a,b这样的操作
字符传不能直接用大于小于号比较,要用strcmp( stra, strb )来比较,
当函数结果>0则stra>sreb
当函数结果==0则stra==sreb
当函数结果<0则stra<sreb

其它的自己改改吧

牡丹花下死做鬼 发表于 2014-5-1 21:24:15

你该不会是直接字符串1>字符串2怎么比较的吧
加上string.h这个头文件
用strcmp()来比较
是比较两个字符串的ASCII之和

云计算 发表于 2014-5-2 08:48:42

楼主大哥我会了嘿嘿,真是麻烦了

秦晓彬 发表于 2014-5-3 16:09:42

以前听说过itoa()和atoi()这两个函数,不知道楼主是不是有兴趣试一下,应该可以实现你的想法

欣欣celin 发表于 2014-5-4 10:07:55

云计算 发表于 2014-5-2 08:48 static/image/common/back.gif
楼主大哥我会了嘿嘿,真是麻烦了

那就好,其实偶没懂{:5_96:},还没学过C++
页: [1]
查看完整版本: 代问一个C++数组 学号 成绩排序问题