【深基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 1≤n≤13。
/*思路简介: 模拟
主要难点是设置宽度为二,不足 0 补齐
c语言可以直接用 printf("%02d",num) 来输出
c++则需要 设置输出宽度 setw() 和 补齐宽度填充 setfill()
再加上两个计数的变量,然后模拟输出即可
*/
// c++ 版本
#include <iostream>
#include<iomanip> // 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 <stdio.h>
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;
}