c语言输出菱形(控制行数)

#include <stdio.h>
int main()
{
    int i,j,n;
    printf("你想输入几行?\n");
    scanf("%d",&n);
    printf("打印出来的图案为:\n");
    for(i=1;i<=n;i++)
    {   
       for(int k=1;k<=n-i;k++)
       {
           printf(" ");
       }
       for(j=1;j<=2*i-1;j++)
       {   
           
              printf("*");
       }
       printf("\n");
    }
    for(i=2;i<=n;i++)
    {   
       for(int k=1;k<=n-1-(n-i);k++)
       {
           printf(" ");
       }
       for(j=1;j<=8-(2*i-1);j++)
       {   
           
              printf("*");
       }
       printf("\n");
    }
    
}

修改了一下,如下:


#include <stdio.h>
int main()
{
    int i,j,n;
    printf("你想输入几行?\n");
    scanf("%d",&n);
    printf("打印出来的图案为:\n");
    for(i=1;i<=n;i++)
    {   
       for(int k=1;k<=n-i;k++)
       {
           printf(" ");
       }
       for(j=1;j<=2*i-1;j++)
       {   
           
              printf("*");
       }
       printf("\n");
    }
    for(i=1;i<=n;i++)
    {   
       for(int k=1;k<=i;k++)
       {
           printf(" ");
       }
       
       for(j=1;j<=2*(n-i)-1;j++)
       {   
           
              printf("*");
       }
       
       printf("\n");
    }
    
}

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^