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

求大神指导,为什么我这个输出的不是菱形

#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<2*i-1 ;  k++     ) 

        {

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

        }

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

    }

  


  /*jjjdjdjdjd*/

//sgrgttt

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

     {

         if(i<5)

         {

             

         

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

         {

             printf(" ");

         }

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

         {

             printf("*");

         }

         printf("\n");

         }

         

         else

         {

             for(j=0;j<=i-4;j++)                                        为什么这里(j=i;j>i-3;j--)是错的,输出全是三空格

 

 

            {

                printf(" ");

            }

            for(k=1;k<=15-2*i;k++)                            为什么这里k要等于1,k=0时输出的*不对为什么

            {

                printf("*");

            }

            printf("\n");

            

         }

     }

         return 0;

     }

代码是对的

正在回答

1 回答

你这个太复杂了用用我这个:


#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<2*i-1;k++) 

        {

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

        }

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

    }

    return 0;

}


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

YINXUAN 提问者

dalao,我想输出菱形,就对于上面的正确代码有点疑问,能解答一下吗,或者帮我运算一下我的代码哪里错了?
2018-09-07 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

求大神指导,为什么我这个输出的不是菱形

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