C语言输出图案,求指导!!

img


如图,新生刚学循环,请大家用循环那块的知识写这个代码,最好能解释一下。

第一个图形,用双层循环输出5行5列。

img

#include<stdio.h>
int main(){
    for(int i=0;i<5;i++){
        for(int j=0;j<5;j++){
            printf("* ");
        }
        printf("\n");
    }
    return 0;
} 

for双循环就可以了啊,两个图都要输出?

#include <stdio.h>
int main()
{
    for(int i=0;i<5;i++)
    {
        for(int j=0;j<5;j++)
              printf("* ");
        printf("\n");
    }
    return 0;
}

第二个

#include <stdio.h>
int main()
{
    for(int i=0;i<5;i++)
    {
        for(int k=0;k<i;k++)
              printf("  ");
        for(int j=0;j<5;j++)
              printf("* ");
        printf("\n");
    }
    return 0;
}

这个其实很简单,用for循环就可以实现,我给你看个示例:

#include<stdio.h>

int main(void)
{
    // 定义变量i, j
    int i, j;
    // 双层循环,外层循环打印 * 号
    for (i = 1; i <= 5; i++)
    {
        // 内层循环打印空格
        for (j = i; j > 0; j--)
        {
            putchar(' ');
        }
        printf("* * * * *\n");
    }
}

代码逻辑:

  1. 外层循环控制打印 星号 的行数,题目要求5行 星号,那么就把 for循环的次数控制在5次以内
    for (i = 1; i <= 5; i++)
  2. 内层循环控制打印 空格 的个数,可以看到每打印一行星号,空格就加一个,那么空格打印的次数可以控制为外层循环 i 的值
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632