问题 A: 冒泡排序(数组)
时间限制: 1 Sec 内存限制: 128 MB
提交: 1341 解决: 730
[提交][状态][讨论版]
题目描述
输入n个数字,使用冒泡排序对其进行升序排序。
输入
测试次数T
每组测试数据格式为:数字个数n,后跟n个数字。假设n<20。
输出
对每组测试数据,输出冒泡排序的每趟排序结果
样例输入
2 5 10 4 43 1 2 10 20 123 12 2 434 54 2 45 23 -10
样例输出
4 10 1 2 43 4 1 2 10 43 1 2 4 10 43 1 2 4 10 43 20 12 2 123 54 2 45 23 -10 434 12 2 20 54 2 45 23 -10 123 434 2 12 20 2 45 23 -10 54 123 434 2 12 2 20 23 -10 45 54 123 434 2 2 12 20 -10 23 45 54 123 434 2 2 12 -10 20 23 45 54 123 434 2 2 -10 12 20 23 45 54 123 434 2 -10 2 12 20 23 45 54 123 434 -10 2 2 12 20 23 45 54 123 434
提示
#include<stdio.h>
int
main()
{
int
n,i,j,k,m,t,l;
scanf
(
"%d"
,&m);
for
(l=1;l<=m;l++)
{
scanf
(
"%d"
,&n);
int
a[100];
for
(i=0;i<n;i++)
{
scanf
(
"%d"
,&a[i]);
}
for
(i=0;i<n-1;i++)
{
for
(k=0;k<n-1-i;k++)
{
if
(a[k]>a[k+1])
t=a[k],a[k]=a[k+1],a[k+1]=t;
}
for
(j=0;j<n;j++)
{
if
(j!=n-1)
printf
(
"%d "
,a[j]);
else
printf
(
"%d"
,a[j]);
}
printf
(
"\n"
);
}
}
}