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

k<=2*i-1是对的还是k<2*i-1是对的


为什么我写了k<=2*i-1,然后他说我的是错的,感觉k<2*i-1才是错的

提问者:慕UI8177353 2017-10-04 14:30

个回答

  • 慕丝4222353
    2017-10-17 00:57:21

    终于搞懂了

  • 精慕门35929
    2017-10-06 08:57:48

    k=0时,k<2*i-1;k=1时,k<=2*i-1

  • Best科科
    2017-10-04 14:55:24

    看你的k初始化为多少

    int i, j, k;
    
        for(i=1; i<5; i++)
    
        {
    
            for(j=1;j<=4-i;j++)  
    
            {
    
                printf(" ");  
    
            }
    
            for(k=1;k<=2*i-1;k++ ) 
    
            {
    
                printf("*");   
    
            }
    
            printf("\n");   
    
        }
    
        return 0;
    }
    int i, j, k;
    
        for(i=1; i<5; i++)
    
        {
    
            for(j=1;j<=4-i;j++)  
    
            {
    
                printf(" ");  
    
            }
    
            for(k=0;k<2*i-1;k++ ) 
    
            {
    
                printf("*");   
    
            }
    
            printf("\n");   
    
        }
    
        return 0;
    }


  • qq_22_7
    2017-10-04 14:54:53

    很好理解的嘛,因为它的星号是1,3,5,7……对应第1,2,3,4……行,所以就是2*i-1;然后例如,当你初始化k为0时,在打印第一行时,你的星号就只能输出一次,所以k<1;第2,3,4……也是这样的道理,当你初始化k=1时,就可以k<=2*i-1了~嘻嘻