问答详情
源自:4-12 循环结构之多重循环

为什么我的答案是直角三角形,不是等边三角形?

#include <stdio.h>
int main()
{
    int i, j, k;
    for(i=1; i<5; i++)
    {
        /* 观察每行的空格数量,补全循环条件 */
        for(j=4; j>0; j--)  
        {
            printf(" ");    //输出空格
        }
        /* 观察每行*号的数量,补全循环条件 */
        for(k=1; k<2*i; k++)
        {
            printf("*");   //每行输出的*号
        }
        printf("\n");     //每次循环换行
    }
    return 0;
}

提问者:一粒爆米花 2015-11-28 22:40

个回答

  • 摘星星的男人
    2015-11-29 20:47:30
    已采纳

    #include <stdio.h>     //要求输出等边三角形 

    int main()

    {

        int i, j, k;

        for(i=1; i<5; i++)

        {

            /* 观察每行的空格数量,补全循环条件 */

            for(j=1; j<5-i; j++)  

            {

                printf(" ");    //输出空格

            }

            /* 观察每行*号的数量,补全循环条件 */

            for(k=1; k<2*i; k++) 

            {

                printf("*");   //每行输出的*号

            }

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

        }

        return 0;

    }

    这个是修改以后的代码。for(j=4; j>0; j--)这个是你的,每次i循环都会输出4个空格,所以输出就是直角三角形。 for(j=1; j<5-i; j++)  改成这样每次i循环都会少一个空格。