代码
#include<iostream>
using namespace std;
int main()
{
int i,j,t,n;
int a[15];
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
{
if(a[j]>a[j+1])//从小到大排用“>”,反之用“<”
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=1;i<=n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
具体例题
问题描述
期末考试成绩下来了,刘老师要对初一(1)班N名同学的数学成绩进行从大到小的排名,请你利用冒泡排序帮助刘老师完成这个任务。10<=N<=60。
输入
输入2行,一行一个整数,第一个整数N表示初一(1)班的人数,第二行的N个数字为每个同学的数学成绩。
输出
输出一行,从高到低的排出一班所有人的数学成绩,每个数字之间用“,”隔开。
样例输入
10
73 85 86 89 100 92 96 91 88 90
样例输出
100,96,92,91,90,89,88,86,85,73
代码
#include<iostream>
using namespace std;
int main()
{
int i,j,t,n;
int a[65];
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
{
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=1;i<=n;i++)
{
cout<<a[i]<<",";
}
return 0;
}