黑马程序员技术交流社区
标题:
基础测试六字符串排序问题
[打印本页]
作者:
moon_H
时间:
2015-3-2 23:08
标题:
基础测试六字符串排序问题
入学考试题里面有一道是这样的,感觉歧义很大啊,到底是按照字符串长度排序,还是按照整体排序?
从键盘输入6个字符串(仅仅包含英文字母和数字),对这6个字符串从小到大排列并输出结果。(C语言)
求满分童鞋解答一下到底啥意思
作者:
moon_H
时间:
2015-3-2 23:10
求往期童鞋解答
作者:
moon_H
时间:
2015-3-2 23:50
求往期童鞋解答
作者:
黑色淘金
时间:
2015-3-2 23:54
应该是ansc字符形式比较大小吧,比如0是0x30, 1是0x31,a是0x40
作者:
moon_H
时间:
2015-3-3 01:21
黑色淘金 发表于 2015-3-2 23:54
应该是ansc字符形式比较大小吧,比如0是0x30, 1是0x31,a是0x40
谢谢啦,还是不太明白,比如有三个字符,adsfa12,ewqw34,oklj98,该如何排序呢
作者:
枫宇翔
时间:
2015-3-3 09:22
如果你是要c语言的话,那么可以使用strcmp函数,k = strcmp(s1,s2),S1和s2都是字符串,若S1 > S2 ,K > 0 ;若S1 = S2 ,k = 0 ; 若 S1 < S2 ,K< 0 ,如果你想知道字符串具体细节,就回复一下的话,我看到了会告诉你的
作者:
tripleCC
时间:
2015-3-3 09:58
按照字符串长度排序(ps:你可以两个都写哦)
作者:
仰望的繁华
时间:
2015-3-3 14:41
本帖最后由 仰望的繁华 于 2015-3-3 14:45 编辑
抽到同一个题,没扣分。
我的思路是:
将长度短的后面视为补0对齐,然后参考数字的大小标准 比较ASCII 。高位大的时候,就不必再比低位。
例如:
abcdefg 和 abc 比较
a b c d e f g
a b c 0 0 0 0
比到第四个:0 < d ,则下面小于上面。
类似于 两个三位数比较大小:百位数大,就不用比较十位和个位。
实际代码中,没有补0一说,而是字符串结尾:\0 必然小于其他字符,所以比到 \0 必然出结果。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2