空心三角形

这题格式tm卡了我好久,因为不确定下一次输入是否为@ 代表结束,所以不能用平时的换行方式,在下一次输入时进行判断是否结束,若不结束,换一次行,且第一次输入不换行。
在这里插入图片描述

#include<stdio.h>
int main()
{
	int n,flag=0;
	char ch;
	while(scanf("%c",&ch)!=EOF)
	{
		if(ch=='@') break;
		scanf("%d",&n);
		if(flag!=0) printf("\n");
		flag=1;
		getchar();
		for(int i=1;i<n;i++) printf(" ");
		printf("%c\n",ch);
		for(int i=2;i<n;i++)
		{
			for(int j=1;j<=n-i;j++) printf(" ");
			printf("%c",ch);
			for(int k=1;k<2*(i-1);k++) printf(" ");
			printf("%c\n",ch);
		}
		if(n>1)
		{ 
		for(int i=0;i<2*n-1;i++)
			printf("%c",ch);
			printf("\n");
		}
	}
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/qq_43434328/article/details/84256696