求助:一个C问题(百思不得其解)!
AABA
ABCBA
ABCDCBA
ABCDEDCBA
要求自己输入一个字母,按照上面格式打印出来
比如~输入E就全部打印上面的图案.
百思不得其解望指点....金字塔图形算法已经明了....
[ 本帖最后由 dsyayo 于 2010-2-8 12:51 编辑 ]
程序代码:#include<stdio.h>
void printchars(char ch, int line, int offset)
{
int i;
int lower = ch - offset;
int chs = offset * 2 - 1;
int blank = chs - offset - line;
for (i = 0; i <= blank; i++)
{
printf("%c", ' ');
}
for( i = 0; i <= line; i++)
{
printf("%c", lower++);
}
for(i = 0, lower -= 2; i < line; i++)
{
printf("%c", lower--);
}
}
void printline(char ch, int offset)
{
int i;
for(i = 0; i <= offset; i++)
{
printchars(ch, i, offset);
printf("\n");
}
}
int main()
{
char ch;
scanf("%c",&ch);
if (ch >= 'A' && ch <= 'Z')
{
printline(ch, ch-65);
}
else if (ch >= 'a' && ch <='z')
{
printline(ch, ch-97);
}
else
{
printf("input error\n");
}
return 0;
}