求教点评,给点思路!
Enter a capital:G 就是输入一个大写字母,输出下面的图形,想了半天,写是写出来了,不过看起来有点丑,求指点,有什么更清晰的方法?A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEFGFEDCBA
#include <stdio.h>
int main(void)
{
char ch,space = ' '; //space赋了个空格
int i, j, k, n;
printf("Enter a capital:");
scanf("%c",&ch); //输入一个大写字母
k = ch-'A'; //强制转换成int,表示行数
for (i=0; i<=k; i++) //外循环表示行数
{
for (j=0; j<k-i; j++)
printf("%c",space); //输出的空格数,逐行递减
for (j='A',n=0; n<=i; j++,n++)
printf("%c",j); //j重新赋值,字母逐行递增
for (j-=2,n=0; n<i; j--,n++)
printf("%c",j); //利用上面循环的j的值减2
printf("\n");
}
return 0;
}
[ 本帖最后由 huang1982 于 2012-3-2 01:10 编辑 ]