打印由*组成的正三角形

来源:互联网 发布:怎样购买.tv域名 编辑:程序博客网 时间:2024/04/30 13:16

在mooc上复习C的循环嵌套的时候,遇到一道题目,要打印这样一个图形:

    *

  ***

 *****

*******

这并不是一道很难的题目,如果不限定范围。我会选择用双重的循环和if语句来写,主要程序如下:

for(i=0;i<4;i++)

{

for(j=0;j<7;j++)

{

if(j<3-i)

printf(" ");

else if(j>=3-i && j<=3+i)

print("*");

}

printf("\n");

}

上面其实相当于半个菱形公式,但在课程网上,对代码限制严格,用了三个控制的变量i,j,k,总共用了三条for语句。

我思考了下,补全之后是这样

    for(i=1;i<5;i++)
    {
        /* 每行的空格数量 */
        for( j=1; j<5-i;j++ )  //或者for( j=i; j<5;j++ )  
        {
            printf(" ");    //输出空格
        }
        /* 每行*号的数量 */
        for(k=1; k<i*2 ; k++  ) 
        {
            printf("*");  //每行输出的*号

        }
        printf("\n");     //每次循环换行

}


在后来学了复杂的语句后,会把之前的一些东西丢弃掉。再输入部分后,接着输入就可以了,我却加了条件语句在里面。

0 0