能不能解释一下这个该怎么写循环条件?

来源:4-12 循环结构之多重循环

慕粉1255299925

2017-04-13 16:38

使用双重循环实现输出正三角形,效果如下

在代码编辑器中:
第8、13行根据注释提示补全所有代码
hello.c
#include <stdio.h>
int main()
{
    int i, j, k;
    for(i=1; i<5; i++)
    {
        /* 观察每行的空格数量,补全循环条件 */
        for(    ? ;  ? ;  ?  ) 
        {
            printf(" ");    //输出空格
        }
        /* 观察每行*号的数量,补全循环条件 */
        for( ? ;  ? ;  ?     )
        {
            printf("*");   //每行输出的*号
        }
        printf("\n");     //每次循环换行
    }
    return 0;
}

写回答 关注

3回答

  • 笑看暀倳洳埖
    2017-04-15 09:16:15

    两图分别是就j<4和j<5的结果。

  • 幸运的雷子
    2017-04-13 17:37:40

    #include <stdio.h>
    int main()
    {
        int i, j, k;
        for(i=1; i<5; i++)        //此处循环5次,为5行
        {
            /* 观察每行的空格数量,补全循环条件 */            //观察得到第一行显示5个空格+星星,第二行四个空格+星星.所以:
            for(    j=i ;  j<=5-i ;  j++  )  
            {
                printf(" ");    //输出空格
            }
            /* 观察每行*号的数量,补全循环条件 */
            for( k=0 ;  k<2*i-1 ;  k++     ) 
            {
                printf("*");   //每行输出的*号
            }
            printf("\n");     //每次循环换行
        }
        return 0;
    }


    笑看暀倳洳埖

    第一行不应该是3个空格吗,应该是j<4才对,可是运行出来结果不对,求解释!

    2017-04-15 08:58:22

    共 2 条回复 >

  • 慕粉4166168
    2017-04-13 17:25:53

    #include <stdio.h>

    int main()

    {

        int i, j, k;

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

        {

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

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

            {

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

            }

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

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

            {

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

            }

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

        }

        return 0;

    }


    慕粉1255...

    j和k两个表达式有点不理解,能详细说明下吗,谢谢你了

    2017-04-14 00:26:43

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926299 学习 · 20799 问题

查看课程

相似问题