请问这个数组排序法错在哪里? 我是刚学没有经验,在练题目,请解答者回复详细点,谢谢。
排序需要双循环的
你输入10个整数,之间需要加空格的啊,不能连在一起,连在一起就当做一个整数了
for(int i=0;i<9;i++)
for(int j=0;j<9-i;j++)
{
if(n[j] > n[j+1])
{
int t = n[j];
n[j] = n[j+1];
n[j+1] = t;
}
}
你的这个属于冒泡交换排序,需要两个循环,代码如下:
for(int i=0;i<9;i++)
{
for(int j=i;j<9;j++)
{
if(n[j] > n[j+1])
{
int t = n[j];
n[j] = n[j+1];
n[j+1] = t;
}
}
希望采纳一下,对我的帮助很大
for(int i=0;i<9;i++)
for(int j=0;j<9-i;j++) {
if(n[j] > n[j+1]){
int t = n[j];
n[j] = n[j+1];
n[j+1] = t;
}
}