题目链接
AC代码
#include<cstdio>
int main(){
int number[10],res[50];
for(int i=0;i<10;i++){//记录数字0~9的个数
scanf("%d",number+i);
}
for(int i=1;i<10;i++){//输出首位
if(number[i]){//从1开始找个数非零的i
printf("%d",i);//直接输出
number[i]--;//对应i的个数减一
break;//输出完首位就中断
}
}
for(int i=0;i<10;i++){//从小到大输出剩余的数
while(number[i]){
printf("%d",i);
number[i]--;
}
}
return 0;
}
本文介绍了一种使用C++实现的算法,该算法根据输入的各数字出现次数,构造并输出一个由这些数字组成的最小数值。首先,算法扫描数组找出首个非零数字作为序列的首位,然后按数字大小顺序输出剩余的数字。

350

被折叠的 条评论
为什么被折叠?



