打印沙漏

过程

起初这道题目我是做过类似的,不过呢我没有解决好,同样的问题又来了,不过我还是有了一点自己的思路

小错误

代码


#include<stdio.h>
#include<math.h>
int main()
{
	int n,m,i,j,t;
	char sign;
	scanf("%d %c",&n,&sign);
	n-=1;
	m=1;
	while(n-2*(m+2)>=0)
	{
		m+=2;
		n-=2*m;
		
	}
	t=m/2;
	for(i=0;i<m;i++)
    {
    	for(j=0;j<t-abs(i-t);j++)
            printf(" ");
        for(j=0;j<abs(i-t)*2+1;j++)
            printf("%c",sign);
        printf("
");
    }
    printf("%d
",n);
	
	return 0;
}

截图

流程图

学习总结

在别人的帮助下,我也学会了许多,虽然是从别人哪里学来的,总之没有白费功夫。

原文地址:https://www.cnblogs.com/xscltnn0104/p/10404077.html