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