双循环打印奇偶菱形

#include<stdio.h>

void display( int lines);

int main()
{
   int lines;
   printf("Please type lines' number of Diamond:\t");
   while(1!=scanf("%d",&lines))                        // to make sure the user type a number.
   {
       printf("You type a wrong value!\n");
       printf("Please type lines's of Diamond:\t");
       getchar();
   }
   display(lines);
   
   return 0;
}

void display( int lines)
{
    int row,col;                                       
    int star_num;
    
    for(row = 1,star_num = 1; row <= lines ; row++)                   // print each line of diamond
    {
        for(col = 1;col <= (lines-star_num)/2+star_num; col++)         // print each lines' stars and spaces
        {   
            if(col <= (lines-star_num)/2)
               putchar(' ');
            else
               putchar('*');
        }
        if(0 != lines%2)                        // The case of the lines'value belongs to the odd number
        {
            if(row < lines/2+1)
                star_num+=2;
            else
                star_num-=2;
        }
        else                                // The case of the lines'value belongs to the even number.
        {
            if(row < lines/2)
                star_num+=2;
            else if(row < lines/2+1)
                star_num=star_num;
            else
                star_num-=2;    
        }
        putchar('\n');
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值