本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。
输入格式:
输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。
输出格式:
输出空心字符菱形。
输入样例:
B 5
输出样例:
B
C C
D D
C C
B
#include <stdio.h>
int main()
{
char c;
int n,i,a,b,d;
scanf("%c%d",&c,&n);
a = n / 2 + 1; //a=字母个数
c--;
for(i = 1;i <= n;i++)
{
if(i <= a) //上半部分 字母递增
{
b = i - 1;
c++;
}
else //下半部分 字母递减
{
b = n - i;
c--;
}
for(d = 1;d <= a + b;d++)
{
if(d == a - b || d == a + b) //判断是否有字母
{
printf("%c",c);
}
else
{
printf(" ");
}
}
printf("\n");
}
}