在c语言中怎么比较字母的大小

不是比较字母的大小写,而是比较字母的顺序,比如说一组字母是 dheng 然后排序。。。谢谢各位高手
#define M 100
#define N 10
#include<string.h>
#include<stdio.h>
main()
{ int i,j,k;
char a[M]="def",b[N]="abc",temple;
puts(a);
printf("\n");
puts(b);
printf("\n");
strcat(a,b);
puts(a);
printf("\n");
k=strlen(a);
for(i=0;i<k;i++)
{ for(j=0;j<k-i;j++)
{ if(a[j]>a[j+1])
{ temple=a[j];
a[j]=a[j+1];
a[j+1]=temple;
}

}
}
puts(a);
printf("\n");

}

这是我编的
编译的时候没有报错
但是出不了结果

你不是在做密码学实验? 列置换密码就要做这些工作,呵呵。
如果你只需要把这些字母排好序那太简单了,直接冒泡排序就行了,冒泡排序在数组数目小于50 的时候效率是最高的。
char ch[]="dheng"
for(i=0;i<strlen(dheng)-1;i++)
{
for(j=0;j<i;j++)
{
if(ch[i]>ch[j+1])
{
t=ch[j];
ch[j]=ch[j+1];
ch[j+1]=t;
}
}
}

这里字母是asc码其实就是数组 a的asc码是97 b 是98 依此类推 所以 字母实际上就是数组 ,按照数组的排序方法就ok。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-27
你不是在做密码学实验?
列置换密码就要做这些工作,呵呵。
如果你只需要把这些字母排好序那太简单了,直接冒泡排序就行了,冒泡排序在数组数目小于50
的时候效率是最高的。
char
ch[]="dheng"
for(i=0;i<strlen(dheng)-1;i++)
{
for(j=0;j<i;j++)
{
if(ch[i]>ch[j+1])
{
t=ch[j];
ch[j]=ch[j+1];
ch[j+1]=t;
}
}
}
这里字母是asc码其实就是数组
a的asc码是97
b
是98
依此类推
所以
字母实际上就是数组
,按照数组的排序方法就ok。
第2个回答  2009-09-12
把字符串转成字符数组,然后调用sort()函数对数组进行排序(char型可以直接比较大小,char型参数应该也可以给sort传参),再把字符转成字符串.或者自己编个排序的函数,简单的冒泡排序.
第3个回答  2009-09-12
用ASCII代码呗!数字65~90是A~Z;
97~122是a~z;
第4个回答  2009-09-12
编个程序比较字符编码的大小