C语言打印菱形图案

#include <stdio.h>

int get_rhombus(int i, int top)
{

int n = 1;
int o_i = i;

for(o_i; o_i <= (top - 1) / 2; o_i++)    //空格个数为 (高度 - 1)/ 2 个
{
    printf("  ");
}

for(n; n <= 2 * i - 1; n++)              //星星个数为 (2倍的当前高度 - 1)个 
{
    printf("☆ ");
}
printf("\n");
printf("\n");
return 0;

}

int got_rhombus(int i,int j, int top)
{

int n = 1;
int o_i = i;
for(o_i; o_i - ((top + 1)/2) > 0;o_i--)  //空格个数为(高度 - 1)/2 个
{
    printf("  ");
}

for(n; n <= (i - j) * 2 - 1 ; n++)       //星星个数为(当前高度 - x)- 1个  x为2,4,6,8,10,12
{
    printf("☆ ");
}
printf("\n");
printf("\n");
return 0;

}

void drawing_rhombus(int i, int j,int top)
{

for(i; i < top + 1;i++)
{
    if(i <= ((top +1) / 2))   
    { 
        get_rhombus(i, top); //若在菱形高度中间之前,则用此函数
    }

    if(i > ((top+1)/2) && i < (top + 1))
    {
        got_rhombus(i, j, top);//在菱形高度中间之后,则用这个函数
        j = j + 2;
    }
}   

}

int main()
{

int i = 1;
int j = 2;
int top; //菱形竖着长度 必须为单数

scanf("%d", &top);
if(top % 2 == 0) //判断是否为奇数,若为奇数则继续,否则退出
{
    printf("应输入奇数!");
    return 0;
}

drawing_rhombus(i, j ,top); //打印菱形

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的小黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值