首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

天勤OJ 标题1141: 大整数排序

2013-02-24 
天勤OJ 题目1141: 大整数排序题目描述对N个长度最长可达到1000的数进行排序。 输入输入第一行为一个整数N,(

天勤OJ 题目1141: 大整数排序

题目描述

对N个长度最长可达到1000的数进行排序。

 
输入

输入第一行为一个整数N,(1<=N<=100)。
接下来的N行每行有一个数,数的长度范围为1<=len<=1000。
每个数都是一个正数,并且保证不包含前缀零。

 
输出

可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。

 
样例输入
4
123
1234
12345
2345
 
样例输出
123
1234
2345
12345
 
提示 [+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

 
来源

2006年华中科技大学计算机研究生机试真题

 

/**********************************   日期:2013-2-21*   作者:SJF0115*   题号: 天勤OJ 题目1141: 大整数排序*   来源:http://acmclub.com/problem.php?id=1141*   结果:AC*   来源:2006年华中科技大学计算机研究生机试真题*   总结:**********************************/#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct Integer{int len;//长度char N[1001];//数字}Integer;//排序函数int cmp(const void *a,const void *b){struct Integer *c = (Integer *)a;struct Integer *d = (Integer *)b;if(c->len != d->len){return c->len - d->len;}else{return strcmp(c->N,d->N);}}int main(){int n,i;Integer array[101];while(scanf("%d",&n) != EOF){//输入for(i = 0;i < n;i++){scanf("%s",array[i].N);array[i].len = strlen(array[i].N);}//排序qsort(array,n,sizeof(array[0]),cmp);//输出for(i = 0;i < n;i++){printf("%s\n",array[i].N);}}return 0;}


热点排行