关于j的定义这样不行吗?

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

慕姐4483164

2019-08-01 17:15

#include <stdio.h>

int main()

{

    int i, j, k;

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

    {

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

        for(j=3 ;  j>=0 ;  j--  )  

        {

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

        }

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

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

        {

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

        }

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

    }

    return 0;

}


写回答 关注

2回答

  • qq_慕容4003851
    2019-08-01 20:11:50
    已采纳

    只是小白的个人理解,如果有错误希望指出和谅解:

        第一次循环时:i=1带入子循环,j=3 j=2 j=1 j=0都可以取到,再进行孙子循环;

        第二次循环时:i=2带入子循环,j=3 j=2 j=1 j=0同样可以被取到,再进行孙子循环;

    以此类推,每一次父循环j的四个值都可以被取到所以j不会有递变

    因此对关于j的for,应该设法将第二个分号前的语句与i搭上关系

    慕姐4483...

    嗯嗯懂了!

    2019-08-01 20:13:09

    共 1 条回复 >

  • qq_Adolph_CGHNR4
    2019-08-01 20:01:39

    不行奥  因为你这样写的话 你的后面几行打印的空格跟第一行打印的空格数就是一样的啦!!!!每次进入这个子循环都会打印4个空格(而且题目要求第一行是打印3个   奥)

    慕姐4483...

    明白啦,谢谢!

    2019-08-01 20:12:48

    共 1 条回复 >

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题