为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不可以这样

#include <stdio.h>

int main()

{

    int i, j, k;

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

    {

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

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

        {

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

        }

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

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

        {

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

        }

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

    }

    return 0;

}


正在回答

2 回答

你的代码输出的图形形状是没问题的,但是for j 部分会多输出两个空格,使显示出来的图形向右平移了两个空格。

如果这么写会精简几个运算步骤,

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

        {

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

        }


1 回复 有任何疑惑可以回复我~
#1

Sylph_Jade

j=1 不可以 最后一行是没有空格的
2019-07-11 回复 有任何疑惑可以回复我~

其实只要你能够把这堆*打印出来,不管中间过程怎么样,都可以,不必纠结于具体怎么实现

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926206    人
  • 解答问题       20797    个

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

进入课程

为什么不可以这样

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信