语言基础练习——多组数字排序(循环)

问题描述:

题目描述

给定m组n个正整数,将每一组数字从小到大进行排序。
输入

输入数据有多组,每组数据占一行,每行的第一个数正整数n(1<=n<=20),表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。
输出

输出每组排序的结果。
样例输入 Copy

2 1 2
3 121 10 111
0

样例输出 Copy

1 2
10 111 121

#include
#define N 20
int main()
{
int n,i,j,t,a[N];
scanf("%d",&n);
for(i=0;i {
scanf("%d",&a[i]);
}//输入数据
for(j=0;j for(i=0;i {
if(a[i]>a[i+1])
t=a[i+1];
a[i+1]=a[i];
a[i]=t;
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
刚接触C没多久。
我的代码是这样的,但是达不到要求,希望能帮忙修改一下,指出哪里写的有问题,谢谢!

#include
#define N 20
int main()
{
int n,i,j,t,a[N];
while(scanf("%d",&n)&&n!=0)
{
for(i=0;i {
scanf("%d",&a[i]);
}//输入数据
for(j=0;j for(i=0;i {
if(a[i]>a[i+1])
{
t=a[i+1];
a[i+1]=a[i];
a[i]=t;

}

     } 
  for(i=0;i<n-1;i++)
     printf("%d ",a[i]);
  printf("%d",a[n-1]);
}
return 0;

}

这个上面的代码应该不全吧,按照你的意思
应该是
scanf("%d",&n); for(i=0:i for(j=0;j {
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t
}
}//冒泡排序
for(i=0:i<n:i++)
printf("%d",&d);//输出数据
如果·有m组,外面再套一个for循环for(a=0;a<m:a++)就行了