輸入圖形的行數、以及大寫英文字母,輸出由字母組成的以下圖形。
例如輸入: 6 W
輸出:
W W
K X X K
J Y Y J
I Z Z I
H A A H
G F E D C B C D E F G
定義數組存儲空間後初始化"空格"
然後按規律進行指派
最後輸出結果(存儲時沒注意一些空格問題,輸出時才發現,輸出的地方加了少的空格)
#include<stdio.h>
#include<string.h>
int main()
{
char a[100][100],c,ch;
int n,i,j;
memset(a,' ',sizeof(a));
scanf("%d %c",&n,&ch);
for(i=0;i<n;i++)
{
a[i][i] = a[i][2*n-2-i] = ch++;
if(ch>'Z')
{
ch = 'A';
}
}
for(i=1;i<n;i++)
{
a[n-1][n-1-i] = a[n-1][n-1+i] = ch++;
if(ch>'Z')
{
ch = 'A';
}
}
for(i=n-2;i>0;i--)
{
a[i][0] = a[i][2*n-2] = ch++;
if(ch>'Z')
{
ch = 'A';
}
}
for(i=0;i<n;i++)
{
printf("%c",a[i][0]);
for(j=1;j<2*n-1;j++)
{
printf(" %c",a[i][j]);
}
printf("\n");
}
return 0;
}