错误:for(j=1; j<N; j++) 改成:for(j=i; j<N;j++)
for (i = 0; i < N-1; i++)
{
for (j = i; j < N; j++)
{
if (a[j] < a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
……错在 用a[i] 和 a[j]交换
你得用前一个书和当前数比较,而不是用 第 i 和 j 个数比较
for (i = 0; i < N - 1; i++)
{
for (j = 1; j < N - i; j++) {
if (a[j - 1] > a[j])
{
temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
}
}
#include<iostream>
using namespace std;
#define N 4
int main(){
int i,j,temp,a[N];
for(int i=0;i<N;i++)
cin>>a[i];
for(i=0;i<N-1;i++){
for(j=1;j<N-i;j++)
if(a[j-1]>a[j]){//如果前面大于后面,交换
temp = a[j-1];
a[j-1] = a[j];
a[j] = temp;
}
}
for(i=0;i<N;i++)
cout<<a[i]<<endl;
return 0;
}