寒假万恶之源1.打印沙漏
Posted wonzenkei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寒假万恶之源1.打印沙漏相关的知识,希望对你有一定的参考价值。
#include <iostream> //换一种形式的开头吧
using namespace std;//想试用一下c++语法的开头,狗血的是,c++的语法开头,内容竟然是c语言的结构体嗝呵,这里使用了一个关于叫“类”的语句
int main()
{
int n; //n代表沙漏打印的个数
char c; //c是自行选择的符号
scanf("%d %c",&n,&c);
int sum=1;//表示沙漏需要的字符个数
int i=1;//i代表行数
while(sum<=n)//使用while循环段对沙漏两层进行编译
{
sum+=2*(2*(i+1)-1);//2*(i+1)-1代表上半部分的符号个数,乘以2代表两半部分
if(sum<=n)
i++;
}
int j,k;
for(j=0;j<i;j++)
{
for(k=0;k<j;k++)
printf(" "); //记得将空格打印出来还是最重要的,因为没有空格,等腰三角形状是出不来的
for(k=0;k<2*(i-j)-1;k++)
{
printf("%c",c);
}
printf("
");
}//至此为止是对上半部分进行打印
for(j=2;j<=i;j++)
{
for(k=0;k<i-j;k++)
printf(" ");
for(k=0;k<2*j-1;k++)
{
printf("%c",c);
}
printf("
");
}//至该处即对下半部分进行打印
printf("%d",n-(sum-2*(2*(i+1)-1)));//输出没有用掉的符号
}
以上是关于寒假万恶之源1.打印沙漏的主要内容,如果未能解决你的问题,请参考以下文章