编程打印空心字符菱形 (10 分)
本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。
输入格式:
输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。
输出格式:
输出空心字符菱形。
输入样例:
B 5
输出样例:
B
C C
D D
C C
B
上下分开,注意右半部分。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char c;
int n;
cin>>c>>n;
for(int i = 0;i<n/2+1;i++){
for(int j = n/2-i;j >= 0;j--){
if(j!=0)
cout<<" ";
if(i == 0&&j == 0){
printf("%c\n",c);
c++;
}
else if(j == 0){
printf("%c",c);
for(int k = 0;k < 2*i-1;k++){
cout<<" ";
}
printf("%c\n",c);
c++;
}
}
}
c = c-2;
int k = 2;
for(int i = n/2;i >= 1;i--){
for(int j = 1;j < k;j++){
cout<<" ";
}
if(i == 1){
printf("%c",c--);
break;
}
printf("%c",c);
for(int l = 2*i-3;l>=1;l--){
cout<<" ";
}
printf("%c\n",c--);
k++;
}
}