zoukankan      html  css  js  c++  java
  • 011--c数组--排序--组成最大数

    数组--排序--组成最大数

    组成最大数
     

    任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。

    输入: 自然数 n

    输出: 各位数字组成的最大数

     测试输入关于“测试输入”的帮助期待的输出关于“期待的输出”的帮助时间限制关于“时间限制”的帮助内存限制关于“内存限制”的帮助额外进程关于“{$a} 个额外进程”的帮助
    测试用例 1 以文本方式显示
    1. 1593↵
    以文本方式显示
    1. 9531↵
    1秒 64M 0
    【分析】

    很显然,这是个排序的题。先用冒泡排序实现,很简单代码就不写了。

    【代码】

    冒泡排序的代码在我的Blog:http://blog.csdn.net/debug__boy/article/details/8170580中,代码的58-70行。

    【多说一点】

    这里提供一稍稍带点技巧的实现方法,不需要排序,利用数字0~9一次递增(排好序)的规律,直接得出结果。

    代码如下:

    [cpp] view plain copy
     
    1. #include "stdio.h"  
    2.   
    3. int main(int argc, char **argv)  
    4. {  
    5.     char ch;  
    6.     int arr[10] = {0};      //存储各个数字出现的次数,初始化为0  
    7.   
    8.     //统计各个数字出现的次数  
    9.     while(1)  
    10.     {  
    11.         ch = getchar();  
    12.         if (ch == ' ')  
    13.         {  
    14.             break;  
    15.         }  
    16.         arr[ch - '0']++;  
    17.     }  
    18.   
    19.     int i, j;  
    20.       
    21.     //输出各个数字出现的次数  
    22.     for (i = 9; i >= 0; i--)  
    23.     {  
    24.         printf("数字%d 出现%d次. ", i, arr[i]);  
    25.     }  
    26.   
    27.     //输出这些数组成的最大的数  
    28.     printf(" 组成的最大的数: ");  
    29.     for (i = 9; i >= 0; i--)  
    30.     {  
    31.         for(j = arr[i]; j > 0; j--)  
    32.             printf("%d", i);  
    33.     }  
    34.     printf(" ");  
    35.   
    36.     //输出这些数组成的最小的数,注意:0不输出  
    37.     printf(" 组成的最小的数: ");  
    38.     for (i = 1; i <= 9; i++)  
    39.     {  
    40.         for(j = arr[i]; j > 0; j--)  
    41.             printf("%d", i);  
    42.     }  
    43.     printf(" ");  
    44.   
    45.     return 0;  
    46. }  

    【运行截图】

  • 相关阅读:
    LeetCode Power of Three
    LeetCode Nim Game
    LeetCode,ugly number
    LeetCode Binary Tree Paths
    LeetCode Word Pattern
    LeetCode Bulls and Cows
    LeeCode Odd Even Linked List
    LeetCode twoSum
    549. Binary Tree Longest Consecutive Sequence II
    113. Path Sum II
  • 原文地址:https://www.cnblogs.com/wohenben/p/5425325.html
Copyright © 2011-2022 走看看