生手C++求问
新手C++求问
简单的一个冒泡排序,可是程序输出一直没有降序排列,求问是怎么回事。头文件省略。
int main()
{
int i,j,temp,k;
i=0;
static int array[10]={10,9,8,7,6,5,4,3,2,1};
for (j=10;j>1;j--)
{
while (i<j)
{
if (array[i]>array[i+1])
temp=array[i];
array[i]=array[i+1];
array[i+1]=temp;
i++;
}
}
for (k=0;k<10;k++)
cout<<array[k]<<" ";
return 0;
}
------解决思路----------------------
for循环从j=9开始;while循环之后i从新置0;
------解决思路----------------------
if后面接大括号,养成良好的编码习惯,不然哪个企业敢要你?
if (array[i]>array[i+1])
{
temp=array[i];
array[i]=array[i+1];
array[i+1]=temp;
}
见http://www.afanihao.cn/c_guide/的附录“编码规范”
简单的一个冒泡排序,可是程序输出一直没有降序排列,求问是怎么回事。头文件省略。
int main()
{
int i,j,temp,k;
i=0;
static int array[10]={10,9,8,7,6,5,4,3,2,1};
for (j=10;j>1;j--)
{
while (i<j)
{
if (array[i]>array[i+1])
temp=array[i];
array[i]=array[i+1];
array[i+1]=temp;
i++;
}
}
for (k=0;k<10;k++)
cout<<array[k]<<" ";
return 0;
}
------解决思路----------------------
for循环从j=9开始;while循环之后i从新置0;
------解决思路----------------------
if后面接大括号,养成良好的编码习惯,不然哪个企业敢要你?
if (array[i]>array[i+1])
{
temp=array[i];
array[i]=array[i+1];
array[i+1]=temp;
}
见http://www.afanihao.cn/c_guide/的附录“编码规范”