输入整数n值和首字母,输出以首字母为中心,边长为n的X形。其中,上两条边上字母递增,下两条边上字母递减。且认为字母是循环的,即Z与A相邻。
若输入的不是大写字母,则输出”input error"提示。
输入:(格式 "%d %c")
4 A
输出:
D D
C C
B B
A
Z Z
Y Y
X X
#include <stdio.h>
int main(){
int i,j,n;
char ch,ch1,ch2;
scanf("%d %c",&n,&ch);
ch1=(ch+n-1-65)%26+65; //取模计算防止超出字母范围
//上面的倒三角形
for(i=0;i<n;i++){
for(j=0;j<2*n-1-i;j++){//倒梯形的输出空间,其中有字母有空格
if(j==i||j==2*n-2-i){
printf("%c",ch1);
}
else{
printf(" ");
}
}
printf("\n");ch1--;
if(ch1<'A'){ ch1='Z';}//使A和Z相邻
}
ch2=ch+1;
if(ch2>'Z'){ch2='A';}//使A和Z相邻
//下面正三角形
for(i=1;i<n;i++){
for(j=0;j<n+i;j++){
if(j==n-i-1||j==n+i-1){
printf("%c",ch2);
}
else{
printf(" ");
}
}
printf("\n");ch2++;
if(ch2>'Z'){ ch2='A';}//使A和Z相邻
}
}