标签:表行数 语言 using namespace 符号 结构体 打印 mes for
#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("\n");
}//至此为止是对上半部分进行打印
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("\n");
}//至该处即对下半部分进行打印
printf("%d",n-(sum-2*(2*(i+1)-1)));//输出没有用掉的符号
}
标签:表行数 语言 using namespace 符号 结构体 打印 mes for
原文地址:https://www.cnblogs.com/wonzenkei/p/10296153.html