作者: Turbo时间限制: 1S章节: 基本练习
问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入说明
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
1 <= n, m <= 26。
输出说明
输出n行,每行m个字符,为你的图形。
无多余空格或空行。
输入范例
5 7
输出范例
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
代码如下:
#include<stdio.h>
#include<math.h>
int main(){
int n,m,i,j,k,d;
while(scanf("%d %d",&n,&m)!=EOF){
char picture[n][m];
for(i=0;i<n;i++){
for(j=0;j<m;j++){
d=abs(j-i);
for(k=0;k<26;k++){
if(k==d) {
picture[i][j]=d+'A';
}
}
}
}
//打印数组
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(j==(m-1)) printf("%c\n",picture[i][j]);
else printf("%c",picture[i][j]);
}
}
}
}
运行状态:AC
备注:
1)本题关键在于用picture[i][j]=d+‘A’;可以将数字转换成字符。
2)基础题,一次通过。