问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n行,每个m个字符,为你的图形。
样例输入
5 7
样例输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
数据规模与约定
1 <= n, m <= 26。
解题思路
本题我的思路是将26个字母存在一个数组中,要输出字母图形,只需按顺序输出n行,然后换行即可,利用两个for循环,这里采用了绝对值的方式来得到数组下标,把问题变得更加简单。
C代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a[] = "ABCDEFGHIJKLMNOPQRSTUVWXY";
int i, j = 0;
int n, m = 0;
int k = 0;
scanf("%d%d", &n, &m);
for (i = 0; i <= n; i++)
{
for (j = 0; j <= m; j++)
{
k=abs(i - j);
printf("%c", a[k]);
}
printf("\n");
}
return 0;
}