1023

作者: 笔墨流年乱浮生 | 来源:发表于2018-09-07 18:10 被阅读0次

    //1023 组个最小数(20 分)
    //给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。
    //
    //现给定数字,请编写程序输出能够组成的最小的数。
    //
    //输入格式:
    //输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。
    //
    //输出格式:
    //在一行中输出能够组成的最小的数。
    //
    //输入样例:
    //2 2 0 0 0 3 0 0 1 0
    //输出样例:
    //10015558

    C:

    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        int number[10];
        for (int i = 0; i < 10; i++) {
            scanf("%d", &number[i]);
        }
        int min = 0;
        for (int i = 1; i < 10; i++){
            if (number[i] != 0 ) {
                min = i;
                break;
            }
        }
        printf("%d", min);
        number[min]--;
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < number[i]; j++) {
                printf("%d", i);
            }
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:1023

          本文链接:https://www.haomeiwen.com/subject/tnthgftx.html