输入一个数,使它以下面方式输出:

来源:百度知道 编辑:UC知道 时间:2024/06/01 21:09:15
例如:输入一个数3:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
小弟又遇一难题,请各位老鸟帮忙解决,能在VC++6.0下通过的C程序!

#include <stdio.h>

int main(void)
{
int i, j, k, n;

printf("Please enter a number\n");
scanf("%d", &n);

if (n < 1)
{
printf("The number must be positive\n");
return -1;
}

/* 用变长数组来保存 ,先将数组元素全置为1*/
int a[n*2-1][n*2-1];

for (i = 1; i <= n*2-1; i++)
{
for (j = 1; j <= n*2-1; j++)
{
a[i-1][j-1] = 1;
}
}

/* 从外圈到内圈逐渐递增 */
for (i = 1; i <= n; i++)
{
for (j = i+1; j <= n*2-1-i; j++)
{
for (k = i+1; k <= n*2-1-i; k++)
{
(a[j-1][k-1])++;
}
}
}

/* 输出整个数组 */
printf("The result is as follows\n");
for (i = 1; i <= n*2-1; i++)
{
for (j = 1; j <= n*2-1; j++)
{
if (j ==