PTA团体程序设计天梯赛-练习集 L1-002 打印沙漏
程序员文章站
2022-03-13 16:36:47
...
include <stdio.h>
void Show(int num,char symbol); //显示字符
int Charge(int n);//判断打印行数
int main()
{
int number,n,i,m=0;
char x;
scanf("%d %c",&number,&x);
n=Charge(number);
for(i=1;i<=n/2+1;i++)
{
Show(i-1,' ') ;
Show(1+2*(1+n/2-i),x);
m += 1+2*(1+n/2-i);
putchar('\n');
}
for(i=1;i<=n/2;i++)
{
Show(n/2-i,' ');
Show(1+2*i,x);
m += 1+2*i;
putchar('\n');
}
printf("%d",number-m);
return 0;
}
void Show(int num,char symbol)
{
int i;
for(i=1;i<=num;i++)
{
printf("%c",symbol);
}
}
int Charge(int n)
{
int i=1,m,k;
m=n-1;
k=3;
for(;m>=2*k;k += 2,i += 2)
{
m -= 2*k;
}
return i;
}
上一篇: Go语言变量
下一篇: Sql Server 获取本周周一