利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
二、解题思路首先想到的是初始化第一行数组为ABCEF等,然后同样将第一列初始化为ABCDEFGH,最后利用循环判断首字母的ASCII值,最后设置循环条件依次递减,捣鼓捣鼓没整出来。换一种思路,我们并不去判断,而从基于现在输入进数组的数据进行变换,最后发现规律,除去第一行第一列,余下的都是左上方的字母,想到这,基本就出来了。
二、代码实现代码如下(示例):
const int count = 26;
char a[count][count];
for (int i = 0; i < count; i++)
{
for (int j = 0; j < count ; j++)
{
a[i][j] = 'A';
}
}
for (int i = 0; i < count; i++)
{
a[0][i] = 'A' + i ;
a[i][0]= 'A' + i;
}
先建立26*26的二维数组,对第一行第一列进行初始化
for (int i = 1;i < count; i++)
{
for (int j = 1; j < count; j++)
{
a[i][j] = a[i - 1][j - 1];
}
}
对后续插入设置规则,
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cout << a[i][j] ;
}
cout << endl;
}
再对n,m进行cin,输出规定格式的字母图形



