#include<stdio.h>
int main()
{
    int row;
    printf("请输入菱形的行数:");
    scanf("%d",&row);
    if(row%2==0)//判断是输入行数是否为偶数
    {
        for(int i=0;i<row/2;i++) //上三角形 
        {
            for(int j=0;j<(row/2)-i;j++)
            printf(" ");
            for(int n=0;n<=2*i;n++)
            printf("*");
            printf("\n");
        }
        for(int i=0;i<row/2;i++)//下三角形
        {
            for(int j=0;j<=i;j++)
            printf(" ");
            for(int n=0;n<row-1-2*i;n++)
            printf("*");
            printf("\n");    
        } 
    }
    else//当输入行数为奇数时
    {
        for(int i=0;i<(row+1)/2;i++)//使上三角形要比下三角形多一行
        {                           //以便保持菱形形状 
            for(int j=0;j<(row+1)/2-i;j++)
            printf(" ");
            for(int n=0;n<=2*i;n++)
            printf("*");
            printf("\n");    
        } 
        for(int i=0;i<(row-1)/2;i++)//下三角形 
        {
            for(int j=0;j<=i+1;j++)//由于当表达式为(j<=i)时;上下三角形不对齐, 
            printf(" ");           //因此进行人为调整为(j<i+1); 
            for(int n=0;n<2*(row-1)/2-1-2*i;n++)
            printf("*");
            printf("\n");
        }
    }
    return 0;
}
 

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信