C语言编程练习4:镂空三角形

C语言编程练习4:镂空三角形

解题思路:找字符位置的规律。除了最后一行为2n-1个字符全部输出,其余行的字符位置满足pos1==n+i-1和pos2=n-i+1(i为行数,从1开始)

#include <stdio.h>

using namespace std;

int main()
{
	char a;
	int n;
	while((a=getchar())!='@')
	{
		scanf("%d",&n);
		getchar();//记住这一句不能省,否则会在第二次输入时a直接变成
(换行符)!
		for(int i=1;i<n;i++)
		{
			for(int j=1;j<=n+i-1;j++)
			{
				if(j==n-i+1||j==n+i-1)
				{
					printf("%c",a);
				}
				else
				{
					printf(" ");
				};
			};
			printf("
");
		};
		for(int m=1;m<2*n;m++)
		{
			printf("%c",a);
		};
		printf("
");
		printf("
");

	}
	return 0;
}