企业建网站服务,庆阳网站制作,垂直型网站名词解释,网站301重定向 注意事项7-58 组个最小数 (20 分)给定数字0-9各若干个。你可以以任意顺序排列这些数字#xff0c;但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如#xff1a;给定两个0#xff0c;两个1#xff0c;三个5#xff0c;一个8#xff0c;我们得到的最小的数就…7-58 组个最小数 (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一开始错理解了这道题的意思而且没有认真的看输入输出样例以为是将输入的数字重新排列最后认真看了一下题目和样例才明白问题到底是什么。。。下面是代码#include #include int main(){int num0,i0,j;int a[10]{0};char ch ;while(ch!\n){scanf(%d,num);scanf(%c,ch);a[i]a[i]num;i;ji-1;}//printf(%d\n,a[2]);//0的个数 如果没有0的情况if(a[0]0){for(i1;ij;i){while(a[i]!0){printf(%d,i);a[i]--;}}}else if(a[0]!0){for(i1;ij;i){if(a[i]!0){printf(%d,i);a[i]--;break;}}for(i0;i9;i){while(a[i]!0){printf(%d,i);a[i]--;}}}return 0;}