c 空心三角形

Problem Description
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。

Input
每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。

Output
每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。

Sample Input
X 2
A 7
@

Sample Output
X
XXX
 
A
A A
A A
A A
A A
A A
AAAAAAAAAAAAA

代码:



//无语啦
#include<stdio.h>
void main()
{
	int i,j,n,k=1;
	char m;
	while(~scanf("%c",&m)&&m!='@'){	
		scanf("%d",&n);
		if(k!=1){
		    printf("\n");
		}else{
		    k++;
		}

		if(n!=1){
		    for(i=1;i<n;i++){//打印第一行
		        printf(" ");
			}
		    printf("%c\n",m);
		}

		for(i=2;i<n;i++){//打印第二行至倒数第二行
			for(j=1;j<(2*n)-1;j++){
				if(j+i-1==n||j-i+1==n){
				    printf("%c",m);
				}else if(j-i+1<n){
                    printf(" ");
				}
			}
			printf("\n");
		}

		for(i=0;i<2*n-1;i++){//打印最后一行
		    printf("%c",m);
		}
		printf("\n");
		getchar();
	}
}




猜你喜欢

转载自blog.csdn.net/qq_40811682/article/details/88293059
今日推荐