题目描述
给你N个整数,请你从小到大输出。
输入描述:
首先是一个整数K,表示有K组数据。
接下来是以回车分隔的K组数据,每组数据首先以一个整数N开头(1<N<100),表示该组数据中包含的整数个数,然后是以空格分隔的N个整数。
输出描述:
对每组数据按要求从小到大输出,组内整数之间隔一个空格,组与组之间以回车分隔。
要求
请发挥你的所学,使用指针技术编程。
输入样例
3
6 1 5 4 3 2 0
5 8 5 2 10 3
2 2 2
输出样例
0 1 2 3 4 5
2 3 5 8 10
2 2
#include <stdio.h>
#include <string.h>
void pai(int *p,int n);
int main()
{
int a[100];
int k,n,j,i;
scanf("%d ",&k);
for(i=0;i<k;i++){
scanf("%d ",&n);
for(j=0;j<n;j++){
scanf("%d",&a[j]);
}
pai(a,n);
for(j=0;j<n-1;j++){
printf("%d ",a[j]);
}
printf("%d\n",a[n-1]);
}
return 0;
}
void pai(int *p,int n){
int i,j,t;
int m;
for(i=0;i<n-1;i++){
m=i;
for(j=i+1;j<n;j++){
if(*(p+j)<*(p+m)){
m=j;
}
}
t=*(p+m);
*(p+m)=*(p+i);
*(p+i)=t;
}
}