废话不多说,直接上代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc,const char* argv[])
{
int a[10] = {};// 用于记录0到9这十个数的个数
for(int i=0; i<10; i++)
{
scanf("%d",&a[i]);
}
int num[50];// 总共不超过50个数
int cnt = 0;// 记录有多少个数
// 先把1到9排好最小数
for(int i=1; i<10; i++)
{
for(int j=0; j<a[i]; j++)
{
num[cnt++] = i;
}
}
// 再把0一个个插到第2位,后面的数都往后挪一位,也就是x0xxxxxx
for(int i=0; i<a[0]; i++)
{
for(int j=cnt; j>1; j--)
{
num[j] = num[j-1];
}
num[1] = 0;
cnt++;
}
// 显示
for(int i=0; i<cnt; i++)
{
printf("%d",num[i]);
}
}