栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言打印沙漏

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c语言打印沙漏

#include
int main()
{
	int num,i,j,k,a=3,sum=1,end;
	char sym;
	scanf("%d %c", &num,&sym);
	if (num == 0)
		printf("0");//讨论0的情况
	else
	{
		while (sum + 2*a <= num)
		{
			sum = sum + 2*a;
			a += 2;
		}
		end = num - sum;
		if (a == 3) 
		{
			printf("%cn", sym);
			printf("%d %c", end, sym);
		}//该if讨论1-6的情况
		else
		{
			for (i = 1; i <= (a - 3) / 2; i++)
			{
				for (k = 1; k < i; k++)
					printf(" ");
				for (j = 1; j <= a -2-2*(i-1); j++)
				{
					printf("%c", sym);
				}
				printf("n");
			}
			for (k = 1; k < (a - 1) / 2; k++)
				printf(" ");
			printf("%cn", sym);
			for (i = 1; i <= (a - 3) / 2; i++)
			{
				for (k = (a - 1) / 2 -1- i; k >0; k--)
					printf(" ");
				for (j = 1; j <= 3+ 2 * (i-1); j++)
				{
					printf("%c", sym);
				}
				printf("n");
			}
			printf("%d %c", end, sym);
		}
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号