C语言 打印空心菱形图案

打印空心菱形图案

题目:

        编写一个函数`print_diamond(int n)`,根据给定的奇数`n`打印一个由星号(`*`)组成的菱形图案。`n`表示菱形的宽度和高度。

提示与要求:

        使用循环控制输出空格和星号的数量。

        使用if分两部分(上半部分和下半部分)输出菱形。

1、函数声明

#include <stdio.h>

int print_diamond(int n);

2、主函数

int main()

{

    int n = 6.9; //测试,向下取整

    //printf("请输入菱形的宽度和高度:");

    //int = n;

    //scanf("%d",&n);

    print_diamond(n);

    return 0;

}

3、函数定义

        3.1 变量声明与换行

// 长度为n的菱形图案打印函数

int print_diamond(int size){

    int i;//换行

    int j1,j2;//外部空格

    int k1,k2;//星号

    int m1,m2;//内部空格

    for(i=1;i<=2*size-1;i++){

        printf("\n");

        3.2输出

上半部分:(使用if分开上下✔)

        1、空格(降序✔)(循环中✔)

        2、星号(循环外✔)

        3、空格(升序✔)(循环中✔)

        4、星号(循环外✔)

        if(i<=size){

        for(j1=size;j1>i;j1--){

            printf(" ");      

    }printf("*");

        for(m1=1;m1<=2*i-3;m1++){

            printf(" ");      

        }if(i!=1){printf("*");}

    }

下半部分(else接下半部分):

        1、空格(降序✔)(循环中✔)

        2、星号(循环外✔)

        3、空格(升序✔)(循环中✔)    

        4、星号(循环外✔)
 

  else{

         for(j2=size;j2<i;j2++){

            printf(" ");          

            }printf("*");

            for(m2=1;m2<=2*(size-2)+1-2*(i-size);m2++){
    //寻找下半部分size与空格初始项的关系(递增)

            printf(" ");      

    }if(i!=2*size-1){

        printf("*");}

    }

}

}

 4、输出结果

   

5、吐槽

        有没有大佬看一看,做的怎么样qwq。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值