C语言编程练习1:打印数字图形

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int n;//定义整数
    while(scanf("%d",&n)!=EOF)//输入整数n
    {
        for(int i=1;i<2*n;i++)//要打印的行数
    {
        for(int j = 0;j<abs((n-i)%n);j++)//打印空格
        {
            printf(" ");
        };
        if(i<=n)//把每行输出分为行数大于n和行数小于等于n,这是行数小于等于n时
        {
            for(int m=1;m<=i;m++)
            {
                printf("%d",m);
            };
        
            for(int m=i-1;m>=1;m--)
            {
                printf("%d",m);
            };
        }
        else//行数大于n时
        {
            for(int m=1;m<=n-(i-n);m++)
            {
                printf("%d",m);
            };
            for(int m=n-(i-n)-1;m>=1;m--)
            {
                printf("%d",m);
            };
        };
            
        printf("\n");//换行
    };

    }
    
    return 0;
}

 

posted @ 2021-01-19 19:34  FantasticDoulbeFish  阅读(770)  评论(0编辑  收藏  举报