帮忙看一下这条程序要怎么修改

来源:百度知道 编辑:UC知道 时间:2024/05/26 17:02:58
对10个数按由小到大进行排序,要用C++ 来编。

帮忙看一下下面的做法为什么无法输出结果:

#include<iostream.h>
void main()
{
int A;
int b;//暂时变量
int c[10];
cout<<"输入 A"<<endl;
cin>>A;
cout<<"输入10个变量 "<<endl;
for(int i=0;i<10;i++)
{
cin>>b;
c[i]=b;
}
//排序数组
for( i=0;i<10;i++)
{
int temp;//暂时变量
for(int j=0;j<9;j++)

{
if(c[j]>c[j+1])
{
temp=c[j];
c[j]=c[j+1];
c[j+1]=temp;
}

}
}

}

你用的是冒泡排序,错在这里for(int j=0;j<9;j++)
循环结束条件应该为j<9-i;

附我改的c语言版本
#include "Stdio.h"
#include "Conio.h"

main()
{
int A;
int b;
int c[10];
int i,j;
printf("enter numbers;");

for(i=0;i<10;i++)
{
scanf("%d",&b);
c[i]=b;
}
for(i=0;i<10;i++)
{
int temp;
for(j=0;j<9-i;j++)

{
if(c[j]>c[j+1])
{
temp=c[j];
c[j]=c[j+1];
c[j+1]=temp;
}

}
}
for(i=0;i<10;i++)
printf("\n%d",c[i]);
getch();
}