题目描述
输入一个字母,打印出对称字母倒三角,格式如下
示例
输入
D
c
输出
分析:这道题类似于利用字符来打印沙漏的那道题,不同的是这道题要求打印的字母有一定的特征,观察打印出的字符串不难看出行数与字符串长度的等式关系。利用abs()能够完成对称上的变换,简化代码量。ABCDCBA
ABCBA
ABA
A
abcba
aba
a
#include <stdio.h>
#include <stdlib.h>
int main()
{
char s;
int i,j,k;
while(scanf("%c", &s)!=EOF)
{
int n = s - 'A' + 1;
if(s>='a' && s<='z')
n = s - 'a' + 1;
for(i=0; i<n; i++)
{
for(k=0; k<i; k++)
{
printf(" ");//打印空格
}
for(j=0; j<2*(n-i)-1; j++)
{
printf("%c", s-i-abs(n-i-j-1)); //输出字母
}
printf("\n");
}
}
return 0;
}