C语言 求字符数组的排序
发布网友
发布时间:2023-03-26 19:09
我来回答
共2个回答
热心网友
时间:2023-10-21 22:22
你思想错了。if(s[i][j]>s[i+1][j+1])
{
t=s[i][j];
s[i][j]=s[i+1][j+1];
s[i+1][j+1]=t;
}这个不能比较字符大小吧,就算能,你这样比较然后换位置,得到的不是原来的字符串啊,而且你不能保证s[3][20]中的三个字符串都是20个字符。
我是这么理解的:
#include<stdio.h>
#include<string.h>
int main()
{
int i,j;
char s[3][20],a[20];
for(i=0;i<3;i++)
gets(s[i]);
for(i=0;i<3;i++){
if(strcmp(s[i],s[i+1])>0){
strcpy(a,s[i]);
strcpy(s[i],s[i+1]);
strcpy(s[i+1],a);
}
}
for(i=0;i<3;i++)
puts(s[i]);
}
测试已通过
热心网友
时间:2023-10-21 22:23
能说清楚一下,你是想进行怎样的排序的吗?是所有的字符排序,还是一行一行的还是其他的?