修改如下,供参考:
#include <stdio.h>
int main()
{
int n, a[101] = {0}, b[101][101] = { 0 };
int i, j, k, t;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
scanf("%d", &a[i]);
a[i] *= 10;
}
t = 0;
i = k = 1;
while (t != n - 1) //&&)t != n
{
for (j = 1; j <= n; j++)
{
if (a[j] > 0)
{
b[j][i] = k;
k++;
a[j]--;
}
if (a[j] == 0)
{
t++;
a[j] = -1;
}
}
i++;
}
k++;
for (j = 1; j <= n; j++)
{
if (a[j] > 0)
{
while (a[j])
{
b[j][i] = k;
k += 2;
i++;
a[j]--;
}
}
}
for (i = 1; i <= n; i++)
{
printf("#%d\n", i);
for (j = 1; b[i][j] != 0; j++)
{
if (j % 10 == 0)
printf("%d\n", b[i][j]);
else
printf("%d ", b[i][j]);
}
}
}