输入n个数,分别将这些数从大到小排列输出和从小到大排列输出

时间:2020-11-30 19:31:53
从大到小:
#include <iostream>
using namespace std;
int main()

int a[1000],i,j;
int n;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(i=0;i<n;i++) //注意
{
for(j=0;j<n-i-1;j++) //注意
{
if(a[j]<a[j+1])
swap(a[j],a[j+1]);
}
}
for(i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}

注意:swap为交换两个数。

从小到大:

#include <iostream>
using namespace std;
int main()

int a[1000],i,j,t,n;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(j=0;j<(n-1);j++)    //注意
  for(i=0;i<(n-1-j);i++)   //注意
    if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
for(i=0;i<n;i++)
  cout<<a[i]<<" ";
  cout<<endl;
 return 0;
}


注意:这两个程序中间有一段不同。