编程实现:输入数字n(n<10),输出n层正方形图案。正方形图案最外层的数字是层数,最内层的数字是1,从外向内数字递减。输入输出格式参见样张:(输出数据字段宽度设为3)
#include <iostream>
#include <iomanip>
using namespace std;
int main(void)
{
int a[10][10], n, i, j;
cout << "请输入n值(n<10):";
cin >> n;
for (j=0;j<2*n-1;j++)
a[0][j]=n;
for (i=1;i<2*n-1;i++)
{
for (j=0;j<2*n-1;j++)
{
if (i<n)
{
if (j >i-1 && j<2*n-1-i)
a[i][j] = a[i-1][j]-1;
else
a[i][j]=a[i-1][j];
}
else
a[i][j]=a[2*n-2-i][j];
}
}
for (i=0;i<2*n-1;i++)
{
for (j=0;j<2*n-1;j++)
cout<<setw(3)<<a[i][j];
cout<<endl;
}
return 0;
}
运行结果如下: