2 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main(){ int n, m; char c; cin >> n >> c >> m; // [1] 读取输入:n为直角三角形的高度(行数),c为图案指定字符,m为实心/空心标识(1实心/0空心) // [2] 外层循环:控制直角三角形的输出行数,共执行n次,对应第1行到第n行 for(int i = 1; i <= n; i++){ // [3] 内层循环:控制第i行的字符输出数量,共输出i个字符,形成直角三角的列数规律 for(int j = 1; j <= i; j++){ // [4] 实心模式判断:m=1时为实心,直接输出指定图案字符 if(m == 1){ cout << c; }else{ // [5] 空心模式:仅在关键位置输出c,其余位置用空格填充 // [6] 空心关键位置判断:首尾行 或 每行的首尾列,满足则输出指定图案字符 if(i == 1 || i == n || j == 1 || j == i){ cout << c; }else{ // [7] 非空心关键位置,输出空格填充,保证图案的空心形态 cout << " "; } } } cout << endl; // [8] 每行星符/空格输出完成后,换行准备输出下一行 } return 0; } -
0
#include<bits/stdc++.h> using namespace std; int main(){ int n, m; char c; cin >> n >> c >> m; // [1] 读取输入:n为直角三角形的高度(行数),c为图案指定字符,m为实心/空心标识(1实心/0空心) // [2] 外层循环:控制直角三角形的输出行数,共执行n次,对应第1行到第n行 for(int i = 1; i <= n; i++){ // [3] 内层循环:控制第i行的字符输出数量,共输出i个字符,形成直角三角的列数规律 for(int j = 1; j <= i; j++){ // [4] 实心模式判断:m=1时为实心,直接输出指定图案字符 if(m == 1){ cout << c; }else{ // [5] 空心模式:仅在关键位置输出c,其余位置用空格填充 // [6] 空心关键位置判断:首尾行 或 每行的首尾列,满足则输出指定图案字符 if(i == 1 || i == n || j == 1 || j == i){ cout << c; }else{ // [7] 非空心关键位置,输出空格填充,保证图案的空心形态 cout << " "; } } } cout << endl; // [8] 每行星符/空格输出完成后,换行准备输出下一行 } return 0; }
- 1
信息
- ID
- 654
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者