洛谷:P5721 【深基4.例6】数字直角三角形

【深基4.例6】数字直角三角形

题目描述

给出 n n n,请输出一个直角边长度是 n n n 的数字直角三角形。所有数字都是 2 2 2 位组成的,如果没有 2 2 2 位则加上前导 0 0 0

输入格式

输入一个正整数 n n n

输出格式

输出如题目要求的数字直角三角形。

样例 #1

样例输入 #1

5

样例输出 #1

0102030405
06070809
101112
1314
15

提示

数据保证, 1 ≤ n ≤ 13 1\le n\le13 1n13

/*思路简介: 模拟
主要难点是设置宽度为二,不足 0 补齐
c语言可以直接用 printf("%02d",num) 来输出
c++则需要 设置输出宽度 setw() 和 补齐宽度填充 setfill()
再加上两个计数的变量,然后模拟输出即可
*/
// c++ 版本
#include 
#include  //  setw()和setfill()的头文件
using namespace std;

int main ()
{
    int row;  // 行数
    cin >> row;
    int col = row;  //  列数

    int num = 1;
    cout << setfill('0');  //  设置宽度补齐填充'0'

    for (int i = 0; i < row; i++)  //  循环控制每行输出
    {        
        for (int j = 0; j < col; j++)  //  循环控制每行输出多少列
            cout << setw(2) << num++;  //  输出, 并让模拟变量 + 1
        col--;  //  列数是逐行减小的
        cout << endl;  //  每次循环完 输出换行符
    }
    return 0;
}


// c语言版本
#include 

int main ()
{
    int row;  // 行数
    scanf("%d", &row);
    int col = row;  //  列数

    int num = 1;

    for (int i = 0; i < row; i++)  //  循环控制每行输出
    {        
        for (int j = 0; j < col; j++)  //  循环控制每行输出多少列
            printf("%02d", num);  //  输出, 并让模拟变量 + 1
        col--;  //  列数是逐行减小的
        printf("\n");  //  每次循环完 输出换行符
    }
    return 0;
}


你可能感兴趣的:(洛谷,c++,算法,c语言)