天天看點

程式設計複習1輸出圖形

輸入圖形的行數、以及大寫英文字母,輸出由字母組成的以下圖形。

例如輸入: 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;
}