C语言,一个字符串按字母排序?这个代码有什么错啊?还有就是比较字符的顺序就是比较字符的ASSIC码值,对吧,直接对字符进行关系操作符的比较到底对不对?#includevoid main(){\x09char c[10];\x09int i;\x09

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 02:56:04
C语言,一个字符串按字母排序?这个代码有什么错啊?还有就是比较字符的顺序就是比较字符的ASSIC码值,对吧,直接对字符进行关系操作符的比较到底对不对?#includevoid main(){\x09char c[10];\x09int i;\x09

C语言,一个字符串按字母排序?这个代码有什么错啊?还有就是比较字符的顺序就是比较字符的ASSIC码值,对吧,直接对字符进行关系操作符的比较到底对不对?#includevoid main(){\x09char c[10];\x09int i;\x09
C语言,一个字符串按字母排序?
这个代码有什么错啊?还有就是比较字符的顺序就是比较字符的ASSIC码值,对吧,直接对字符进行关系操作符的比较到底对不对?
#include
void main()
{
\x09char c[10];
\x09int i;
\x09int j;
\x09int temp;
\x09gets(c);
\x09for(i = 0;i

C语言,一个字符串按字母排序?这个代码有什么错啊?还有就是比较字符的顺序就是比较字符的ASSIC码值,对吧,直接对字符进行关系操作符的比较到底对不对?#includevoid main(){\x09char c[10];\x09int i;\x09

排序算法有问题,而且,你最好确定一下你输入字符串的长度:

#include<stdio.h>
#include<string.h>
void main()
{
\x09char c[10];
\x09int i;
\x09int j;
\x09int temp;
\x09int length;
\x09gets(c);
\x09length=strlen(c);//你可能输入不到10个字符,所以确定总共字符数
\x09for(i=0;i<length-1;i++)//for(i = 0;i<9;i++)
\x09\x09for(j=0;j<length-1-i;j++)//这儿问题最大 for(j = 0;j<9;j++)
\x09\x09\x09if(c[j]>c[j+1])
\x09\x09\x09{
\x09\x09\x09\x09temp = c[j];
\x09\x09\x09\x09c[j] = c[j+1];
\x09\x09\x09\x09c[j+1] = temp;\x09\x09\x09\x09
\x09\x09\x09}
\x09puts(c);
}