这个代码有什么错啊??不能排啊???还有就是比较字符的顺序就是比较字符的ASSIC码值,对吧,直接对字符进行关系操作符的比较到底对不对???
#include<stdio.h>
void main()
{
char c[10];
int i;
int j;
int temp;
gets(c);
for(i = 0;i<9;i++)
for(j = 0;j<9;j++)
if(c[j]>c[j+1])
{
temp = c[j];
c[j] = c[j+1];
c[j+1] = temp;
}
puts(c);
}
排序算法有问题,而且,你最好确定一下你输入字符串的长度:
#include<stdio.h>for(j=0;j<length-1-i;j++) //这儿问题最大 for(j = 0;j<9;j++)
这句怎么理解啊?????为什么是j<length-1-i 呢??????
冒泡排序的方法,来的,第一次把最大的数排到最后一位
从第一个数开始,第一个和第二个比较,如果第一个比第二个则,交换
然后第二个跟第三个比较,第二个比第三个大,交换。。依次类推,用循环表达出来就应该是这种
关系