您的位置:首页 > 编程语言 > C语言/C++

C语言 打印圣诞树

2013-09-25 09:07 253 查看
再回首《C语言编程基础》,其中不少当年老师出的题,做完后稍微做了下修改,可以输入任意行数来打印圣诞树,行数越大,树越大,当然显示器也要越大,不然就折行了。

纯粹练手跟加强记忆的东西,做个记录。刚学C的童鞋们可以看看,跟我一样菜的盆友也可以看看,高手就路过吧。

来张图:



源码:

#include<stdio.h>

void main()
{
int rows,starNo,spaceNo;
printf("Enter Rows:\n");
scanf("%d",&rows);

for(int i=1;i<=rows;i++)
{
starNo=i*2-1;
spaceNo=i+rows-starNo;
for(int j=0;j<spaceNo;j++)
{
printf("%c",' ');
}
for(int k=0;k<starNo;k++)
{
printf("%c",'*');
}
printf("\n");
}

for(int l=0;l<3;l++)
{
for(int m=0;m<(rows*2+1)/2;m++)
{
printf("%c",' ');
}
printf("%c\n",'*');
}
}


另外的版本,可以输入多次,goto,你懂的:

#include<stdio.h>

void main()
{
int rows,starNo,spaceNo;
printf("Enter Rows:\n");

rep:
scanf("%d",&rows);
if(rows==0)
return;

for(int i=1;i<=rows;i++)
{
starNo=i*2-1;
spaceNo=i+rows-starNo;
for(int j=0;j<spaceNo;j++)
{
printf("%c",' ');
}
for(int k=0;k<starNo;k++)
{
printf("%c",'*');
}
printf("\n");
}

for(int l=0;l<3;l++)
{
for(int m=0;m<(rows*2+1)/2;m++)
{
printf("%c",' ');
}
printf("%c\n",'*');
}

goto rep;
}


来个编译后的exe:STARS.exeSTARS.EXE(修正版)

开发环境:Turbo C++ 3.0,学习嘛,用点轻巧的就好了,VC++目前还没用过,谁让咱一直都是写C++++呢,哈哈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: