用for语句实现C语言的图形

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

黑巫

2015-08-21 21:13

http://img.mukewang.com/55d722b9000143dc02560320.jpg

以上代码实现:

http://img.mukewang.com/55d722f1000182dc00670067.jpg

i为行,j为空格,k为*号。

我觉得应该是k+=2 (第11行),因为每行加2。j的初始值为3,因为第一行是3,然后大于0,每一行减1,所以j--,但是错误,图上是j++,为何?

我的代码是:

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


求解释。

写回答 关注

2回答

  • Q__Q
    2015-08-22 12:06:00
    已采纳

    你仔细阅读此程序代码,j的循环每次都是输出三个空格

    i=1:ooo(三个空格),此时k<1,所以只输出一个*

    i=2:ooo(三个空格),此时k<3,所以有两个*

    i=3:ooo(三个空格),此时k<5,所以有三个*

    是否明白了?

    _Melod...

    不明白耶。。。为什么j的每次循环都是三个空格?也不明白为什么j要等于i。。拜托麻烦你了

    2015-10-28 18:30:59

    共 2 条回复 >

  • qq_随心所欲_2
    2015-09-10 18:05:39

    为什么星号会在空格中间啊

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题