As Easy As A+B |
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) |
Total Submission(s): 1413 Accepted Submission(s): 720 |
Problem Description
These days, I am thinking about a question, how can I get a problem as easy as A+B? It is fairly difficulty to do such a thing. Of course, I got it after many waking nights.
Give you some integers, your task is to sort these number ascending (升序). You should know how easy the problem is now! Good luck! |
Input
Input contains multiple test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow. Each test case contains an integer N (1<=N<=1000 the number of integers to be sorted) and then N integers follow in the same line.
It is guarantied that all integers are in the range of 32-int. |
Output
For each case, print the sorting result, and one line one case.
|
Sample Input
2 3 2 1 3 9 1 4 7 2 5 8 3 6 9 |
Sample Output
1 2 3 1 2 3 4 5 6 7 8 9 |
Author
lcy
|
这个题费了好长时间,一直PA,结果问题出在一个空格上,每一行两个数之间才能有空格,我在结尾也输出了一个空格,结果%……郁闷,切记注意细节问题;
代码:
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
int cmp(const void* a, const void* b)
{
return *((int*)a) - *((int*)b);
}
int main(void)
{
int t;
int i, j;
int *n;
int **a;
scanf("%d", &t);
getchar();
a = (int **)malloc(sizeof(int*) * t);
n = (int*)malloc(sizeof(int) * t);
for(i = 0;i < t;i++)
{
scanf("%d", &(n[i]));
getchar();
a[i] = (int*)malloc(sizeof(int) * n[i]);
for(j = 0;j < n[i];j++)
{
scanf("%d", &a[i][j]);
getchar();
}
qsort(a[i], n[i], sizeof(int), cmp);
for(j = 0;j < n[i];j++)
{
if(j < n[i] - 1)
printf("%d ", a[i][j]);
else
printf("%d", a[i][j]);
}
printf("\n");
free(a[i]);
}
free(a);
free(n);
return 0;
}