整数的排序
输入测试数据不止一组,每组测试数据:1)先输入无序序列的整数个数n;(n不超过1000000)
2)然后连续输入n个整数;
若n的值输入为0值,则输入结束.
输出与每组输入的测试数据相对应,输出其按从小到大排好序后的整数序列.
注意:每组输出占一行.
样例输入109 8 7 6 5 4 3 2 1 -1588 77 66 55 330
样例输出-1 1 2 3 4 5 6 7 8 933 55 66 77 88
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
#include<cmath>
#include<map>
#include<stdio.h>
#include<cstring>
using namespace std;
int d;
int main()
{
int n;
while(scanf("%d",&n)==1)
{
for(int i=0;i<n;i++)scanf("%d",&d);
sort(d,d+n);
printf("%d",d);
for(int i=1;i<n;i++)printf(" %d",d);
}
//system("pause");
return 0;
}
求用c写的 #include<stdlib.h>
#include<stdio.h>
using namespace std;
int d;
int cmp(const void* a,const void* b)
{
return*(int*)a > *(int*)b ? 1 : -1;
}
int main()
{
int n;
while(scanf("%d",&n)==1)
{
for(int i=0;i<n;i++)scanf("%d",&d);
qsort(d,n,sizeof(int),cmp);
printf("%d",d);
for(int i=1;i<n;i++)printf(" %d",d);
printf("\n");
}
//system("pause");
return 0;
}
二楼前面定义那么多,真是头文件高手啊 自己写一个快速排序就可以了。 上面是c语言吗,一调试怎么那么多错误。 需要LOOKLOOK。。。。。 围观一下 呵呵呵 学习一下 围观
页:
[1]