读书人

关于冒泡解决办法

发布时间: 2012-03-19 22:03:05 作者: rapoo

关于冒泡
我用冒泡写的字符串的排列,哪里错了啊??
for(i=0;i<x-1;i++)
for(j=0;j<x-1-i;j++)
if(strcmp(str1[j],str2[j+1])>0)
{
strcpy(s,str1[j]);
strcpy(str1[j],str1[j+1]);
strcpy(str1[j+1],s);
}

[解决办法]
你咋还整个str1,str2排序不是一个字符串数组吗?
冒泡的话没看出来什么错误。
[解决办法]
strcmp, strcpy:这两个比较的都是字符串,不是“字符”

我猜你的本意是要比较字符,所以直接比较:
char s;
if(str1[j] > str1[j])
//if(strcmp(str1[j],str2[j+1])>0)
{
s = str1[j];
str1[j] = str1[j+1];
str1[j+1] = s;
//strcpy(s,str1[j]);
//strcpy(str1[j],str1[j+1]);
//strcpy(str1[j+1],s);
}

[解决办法]
如果你要比较字符串,对字符串进行排序,那么被比较的应该是字符串数组(char [][])。
[解决办法]

探讨

你咋还整个str1,str2排序不是一个字符串数组吗?
冒泡的话没看出来什么错误。

[解决办法]

读书人网 >C语言

热点推荐