0
点赞
收藏
分享

微信扫一扫

c语言从键盘输入行数,输出对应行数的菱形

_karen 2022-01-15 阅读 50

#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;
}
 

举报

相关推荐

0 条评论