问题描述
- 输入三个字符串,按由小到大的顺序输出。答案运行出来是正确的提交上去是错的。不想用指针,求大神指教
-
代码:#include
#include
int main( )
{
char s[3][100];
int i,j,a[3],m;
for(i=0;i
{
gets(s[i]);
a[i]=i;
}
for(j=1;j
{
for(i=0;i
{
if(strcmp(s[a[i]],s[a[i+1]])>0)
{
m=a[i];
a[i]=a[i+1];
a[i+1]=m;
}
}
}
for(i=0;i<3;i++)
{
puts(s[a[i]]);
}
return 0;
}
解决方案
你把代码再拷一遍吧,貌似拷的代码有问题,显示不全。
解决方案二:
字符串的处理不是有封装好的函数吗?你可以采用系统封装好的
解决方案三:
你要给出错误的运行时的字符串是什么,这样就容易分析多了。
按你的程序的设计逻辑,你并没有交换字符串,而是交换了字符串的标识 a。但这样,你的比较判断还是字符串,这样会不会出现字符串与标识不匹配的情况???
时间: 2024-10-17 10:21:21