打印勉强的心形

122 阅读1分钟

同之前的打印三角形一样。

用两层for循环,一层行数,一层每一行打印的个数。

这里默认输入的是奇数。

#include<stdio.h>
#include<string.h>
int main()
{
	int i,j,n;
	printf("请输入一个奇数\n");
	scanf("%d",&n);
	for(i=1;i<=(n+1)/2;i++)
	{
		for(j=1;j<=2*n+1;j++)
		{
			if((n+1)/2-i<j&&(n+1)/2+i>j)
			printf("&");
			else if((n+1)/2-i+n+1<j&&(n+1)/2+i+n+1>j)
			printf("&");
			else
			printf(" ");
			if(j==2*n+1)
			printf("\n");
		}
	}
	for(i=n;i>=1;i--)
	{
		for(j=1;j<=2*n;j++)
		{
			if((2*n+1)/2-i+1<j&&(2*n+1)/2+i+1>j)
			printf("&");
			else
			printf(" ");
			if(j==2*n)
			printf("\n");
		}
	}
}

附上运行结果……不好意思,有点尖