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