题目描述
实现代码
#include<stdio.h>
int main(void)
{
int n;
char c;
scanf("%d %c",&n,&c);
int sum=-1;
int num=0;
int i=2;
int count=-1;
while(sum<=n&&n!=0)
{
num=sum;
sum+=i;
i+=4;
count++;//计算漏斗上或下的输出行数
}
for(i=count-1;i>=0;i--)//输出上半部分
{
for(int k=i;k<count-1;k++)
{
printf(" ");
}
for(int j=0;j<i*2+1;j++)
{
printf("%c",c);
}
printf("\n");
}
for(i=1;i<count;i++)//输出下半部分
{
for(int k=1;k<count-i;k++)
{
printf(" ");
}
for(int j=2*i+1;j>0;j--)
{
printf("%c",c);
}
printf("\n");
}
printf("%d",n-num);//剩余数目
}