1023 组个最小数 (20 分)

给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。

现给定数字,请编写程序输出能够组成的最小的数。(题目来源PAT,侵删)

输入格式:
输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。
输出格式:
在一行中输出能够组成的最小的数。

输入样例 :
2 2 0 0 0 3 0 0 1 0
输出样例 :
10015558

--------------------------------------------------------------------------------------------------------------------------
—我的思路与解决方案—

思路 表示
用一个数组表示0~9的每个数字的个数 int flag[10]={0};
先输出除0外最小的一个数字,仅输出一次,然后输出0,之后便是将数字从小到大输出 解决方法如下↓
1.输出除0外最小的一个数字,仅输出一次
for(i=1;i<10;i++){if(flag[i]!=0){printf("%d",i);flag[i]--;   //减1,在输出全部的0后少输出1个i;break;   //输出一次后跳出循环}}

-------------------------------------------------------------------------------------------------------------------------

代码

#include<stdio.h>
int main()
{int flag[10]={0};int i,j;for(i=0;i<10;i++)scanf("%d",&flag[i]);for(i=1;i<10;i++){if(flag[i]!=0){printf("%d",i);flag[i]--;break;}}for(i=0;i<10;i++){for(j=0;j<flag[i];j++){printf("%d",i);}}printf("\n");return 0;
}

PAT1023 组个最小数给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小例如:给定两个0两个1三个5一个8得到的数字就是10015558相关推荐

  1. 给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)

    先贴代码 #include<stdio.h> #include <stdlib.h> #define N 10 int main(void){int p[10];char *s ...

  2. PAT1023. 组个最小数

    1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...

  3. Basic Level 1023. 组个最小数 (20)

    给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是1001555 ...

  4. 1023. 组个最小数

    给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如:给定两个0,两个1,三个5,一个 8,我们得到的最小的数就是100155 ...

  5. PAT (Basic Level) Practice (中文)1023 组个最小数 (20 分) (排序)

    给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就 ...

  6. 1023 组个最小数 (20 分)(c语言)

    给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就 ...

  7. 牛客网_PAT乙级_1013组个最小数 (20)

    题目描述 给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如: 给定两个0,两个1,三个5,一个8,我们得到的最小的数就是1 ...

  8. 1023 组个最小数 (20 分)_14行代码AC

    立志用最少的代码做最高效的表达 给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5 ...

  9. [PAT乙级]1023 组个最小数

    给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就 ...

最新文章

  1. python详细安装教程环境配置-Python的安装教程与环境配置
  2. 计算机学院迎新晚会集宁,迎新晚会 | 信息管理学院2017年“海姆达尔之眼”迎新晚会圆满成功...
  3. C# WPF MVVM模式下在主窗体显示子窗体并获取结果
  4. 测量时间:从Java到内核再到
  5. 某个JAVA类断点无效_解决eclipse中断点调试不起作用的问题
  6. java 乱序算法_前端面试(算法篇) - 数组乱序
  7. 别翻了,常见的锁策略就在这里了~
  8. 编程范式之栈的抽象操作
  9. Alien Skin Exposure X6 mac汉化免费插件包胶片滤镜新功能介绍
  10. Tomcat的设计模式
  11. python制作烟花特效_过大年,用Python去绽放最绚丽的烟花
  12. 工具说明书 - 滚动截屏和录屏软件ShareX
  13. 网页开发(三)——实现网页前端和数据库的数据交换
  14. Office之word如何删除页眉横线
  15. 串行进位加法器电路图(logisim实现)
  16. 开源项目_C语言学生个人信息管理系统课程设计_chenjie的博客
  17. Linux动态链接库.so文件的命名及用途总结
  18. googleapis.com替换CDN
  19. CAD全版本软件安装包(含最新2023)
  20. C盘空间不足?扩充C盘

热门文章

  1. 苹果4如何添加时间插件_Pr快速批量制作和添加字幕,节省时间还不用插件的做法...
  2. 【转】在网页中嵌入QQ 阿里旺旺 淘宝代码及详解
  3. 2020最新开发及环境搭建类经典面试题
  4. 【亲测成功】Ubuntu18.04升级GLIBC2.27——解决报错:ibc.so.6: version `GLIBC_2.28‘ not found
  5. java 人脸检测 人脸抓拍
  6. PPT“备注”内容字体可以修改颜色也能直接看到修改效果
  7. linux将文件修改时间改为现在
  8. 获取当年的法定节假日和周末_通过可配置的周末和节假日添加工作日
  9. 2012~2020年期货全品种TICK数据共享更新至2020.7.24
  10. 数论(继续补充)(gcd + lcm + qpow + prime+qmul)