您的位置:首页 > 其它

hdu1040 As Easy As A+B

2014-08-05 20:50 155 查看

As Easy As A+B

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 36564 Accepted Submission(s): 15840



[align=left]Problem Description[/align]
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!

[align=left]Input[/align]
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.

[align=left]Output[/align]
For each case, print the sorting result, and one line one case.

[align=left]Sample Input[/align]

2
3 2 1 3
9 1 4 7 2 5 8 3 6 9


[align=left]Sample Output[/align]

1 2 3
1 2 3 4 5 6 7 8 9[code]题目大意:对给出的数进行排序
难点:用冒泡可能超时
关键点:掌握sort和qsort两个快速排序法
解题时间:2014,08,05
解题思路:分别用sort和qsort排序
体会:sort是c++里边的函数调用的时候一定要有头文件,qsort是c语言的也有它的头文件
*********************************************/
/*用qsort排序*/
#include<stdio.h>
#include<stdlib.h>              //这是qsort函数 头文件
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;//a和b位置交换就是降序排列
}
int main()
{
int n,m,i;
int a[1100];
scanf("%d",&n);
while(n--){
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
qsort(a,m,sizeof(a[0]),cmp);//函数调用
for(i=0;i<m-1;i++)
printf("%d ",a[i]);
printf("%d\n",a[m-1]);
}
return 0;
}
/*用sort排*/
#include<stdio.h>
#include<algorithm>
using namespace std;//sort函数头文件
bool cmp(int a,int b)
{
return a<b;//升序排列
//return a>b;//降序排列
}
int main()
{
int n,m,i;
int a[1100];
scanf("%d",&n);
while(n--){
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
sort(a,a+m,cmp);//函数调用
for(i=0;i<m-1;i++)
printf("%d ",a[i]);
printf("%d\n",a[m-1]);
}
return 0;
}

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: