题目:
布告,布告! 应老师要求,我们要做一道打印图形的题目,这是程序员最基本的能力。 那废话不多说,我们来说要求的图形:
AAAAA
ABBBA
ABCBA
ABBBA
AAAAA
就是外到内,从A到Z。每一层都是一种字母,最里面的一层为一个,即最中心的一个。
输入格式:
在一输入一个整数,即图形的层数。
** 输出格式:**
如上述图形
*** 输入样例:***
3
** 输出样例:**
AAAAA
ABBBA
ABCBA
ABBBA
AAAAA
代码:
(这是一个利用递归解决的思路)
#include<stdio.h>
#include<stdlib.h>
void plie( int n, int h, int l )
{
int t = l;
if( l == n )
{
if( l > h )l = h;
printf("%c", l+'A'-1 );
}
else
{
if( l > h )l = h;
printf("%c", l+'A'-1 );
l = t;
plie( n, h, l+1 );
if( l > h )l = h;
printf("%c", l+'A'-1 );
}
if( t == 1 )
printf("\n");
}
void phang( int n, int h, int l )
{
if( h == n )
{
plie( n, h, l );
}
else
{
plie( n, h, l );
phang( n, h+1, l );
plie( n, h, l );
}
}
int main()
{
int n;
scanf("%d", &n );//输入。
phang( n, 1, 1 );//调用函数。
return 0;
}