输入n(1≤n≤10)个整数,用冒泡排序法对其从小到大排序,共进行n-1趟,要求输出每一趟的排序情况。
输入格式:
先输入个数n,再输入n个整数。
输出格式:
第1趟结果
第2趟结果
......
第n-1趟结果
每个数后面有一个空格,每个序列占一行。
输入样例:
5
4 2 3 2 1
输出样例:
2 3 2 1 4
2 2 1 3 4
2 1 2 3 4
1 2 2 3 4
C程序如下:
#include<stdio.h>
int main ()
{
int n;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int c=0;
for(c=0;c<n-1;c++)//n-1是要循环冒泡的次数
{
for(int d=1;d<n-c;d++)//n-c是每次比较的次数
{
if(a[d-1]>a[d])
{
int e=a[d-1];
a[d-1]=a[d];
a[d]=e;
}
}
for(int i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
return 0;
}