#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<3;i++)
gets(s[i]);
sortString(s,i);
}
void sortString(char s[][100], int ArraySize)
{ char t[100];
int i,j,k;
for(j=0;j<ArraySize;j++)
for(k=0;k<3-j;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(i=0;i<3;i++)
puts(s[i]);
}
为什么运行时没反应

错误代码:
void main()
{ void sortString(char s[][100], int ArraySize);
char s[20][100];
for(int i=0;i<3;i++)
gets(s[i]);
sortString(s,i);
}

(1) 你的 “i”是局部变量,不能在后面使用
(2) 你没有判断到“END”。

正确代码:
void main()
{ void sortString(char s[][100], int ArraySize);
char s[20][100];
int i;
for( i=0;i<3;i++)
gets(s[i]);
sortString(s,i);
}
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜