重点:查找第一个非零数(也就是最小的),先拍一个最小的非零数,接着把零排完,之后把这个最小的非零数排完。剩下的依次输出就行。也就是a[i]个i。
#include <iostream>
using namespace std;
int main()
{
int a[10] = { 0 };
for (int i = 0; i <= 9; i++)
{
cin >> a[i];
}
int i = 1;
while (a[i] ==0 )
{
i++;
}
printf("%d", i);
for (int j = 0; j <= (a[0]-1);j++)
{
printf("0");
}
if (a[i] != 1)
{
for (int k = 1; k <= a[i] - 1; k++)
printf("%d", i);
}
for (int j =( i + 1); j <= 9; j++)
{
for (int k = 0; k <= (a[j] - 1); k++)
{
printf("%d", j);
}
}
return 0;
}