#include<stdio.h> #include<string.h> void main() { void sortString(char s[][100], int ArraySize); c

设计一个字符串排序输出程序:从键盘上接收用户输入的若干行字符串(最多20行,每行最多100个字符),当输入“end”时表示输入结束。将输入的字符串按从小到大的顺序输出。
例如:输入
wanyan
aaa
yaoli
teacher
end
输出
aaa
teacher
wanyan
yaoli
我编的程序
#include<stdio.h>
#include<string.h>
void main()
{ void sortString(char s[][100], int ArraySize);
char s[20][100];
for(int i=0;;i++)
{ gets(s[i]);
if(s[i]=="end")
break;
}
sortString(s,i);
}
void sortString(char s[][100], int ArraySize)
{ char t[100];
int j,k;
for(j=0;j<ArraySize-2;j++)
for(k=0;k<ArraySize-j-1;k++)
if(strcmp(s[k],s[k+1])>0)
{ strcpy(t,s[k]);
strcpy(s[k],s[k+1]);
strcpy(s[k+1],t);
}
for(j=0;j<ArraySize-1;j++)
puts(s[j]);
}
为什么上面的程序编译没错误,运行却没反应

第1个回答  2010-11-21
你的程序有问题,你想一下定义的是二维数组,可你在输入时只是一维的,输入有问题,接下来肯定不会运行的!
第2个回答  2010-11-21
下定义的是二维数组,可你在输入时只是一维的,输入有问题,接下来肯定不会运行的!本回答被网友采纳
第3个回答  2010-11-21
d
相似回答