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