zoukankan      html  css  js  c++  java
  • 大整数排序

    题目描述

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

    输入描述

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

    输出描述

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

    输入样例

    4
    123
    1234
    12345
    2345

    输出样例

    123
    1234
    2345
    12345
    #include<stdio.h>
    #include<string.h>
    
    char a[100+10][1000+10];
    
    int main() {
    	int n,m,j,k,i,T,t;
    	char temp[1000+10];
    	while(~scanf("%d",&n)) 
    	{
    		getchar();
    		for (i=0; i<n; i++)
    			scanf("%s",a[i]);
    
    		for(i=0; i<n; i++) 
    		{
    			for (j=i+1; j<n; j++) 
    			{
    				if (strlen(a[i])>strlen(a[j])) 
    				{
    					strcpy(temp , a[i]);
    					strcpy(a[i] , a[j]);
    					strcpy(a[j] , temp);
    				}
    			}
    		}
    		memset(temp,'',sizeof(temp));
    		///////////////////////
    		/*for (i=0;i<n;i++)
    		printf("***%s
    ",a[i]);*/
    		///////////////////////
    		for (i=0;i<n;i++)
    		{
    			for (j=i+1;j<n;j++)
    			{
    				if (strcmp(a[i],a[j])>0 && strlen(a[i]) == strlen(a[j]))
    				{
    					strcpy(temp , a[i]);
    					strcpy(a[i] , a[j]);
    					strcpy(a[j] , temp);
    				}
    			}
    		}
    		
    		
    		for (i=0; i<n; i++)
    		printf("%s
    ",a[i]);
    
    	}
    
    
    	return 0;
    }
  • 相关阅读:
    jQuery..1..基本使用..选择
    ORZ各路神犇
    马上搞定Android平台的Wi-Fi Direct开发
    Linux环境下搭建Android开发环境
    笑谈接口回调
    AIDL通信原理
    某个Java面试题
    直接下载SpringBoot项目本地的Excel文件
    用JSP做后台管理系统
    Singleton
  • 原文地址:https://www.cnblogs.com/Romantic-Chopin/p/12451343.html
Copyright © 2011-2022 走看看