欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!
专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。
适合人群:
- 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
- 希望系统学习C++/Python编程的初学者
- 想要提升算法与编程能力的编程爱好者
附上汇总贴:学而思编程2025年CodeStars年度综合评估真题解析 | 汇总
【题目来源】
小猴编程:学而思编程CodeStars年度综合评估
【题目描述】
对于给定的自然数 n,在屏幕上输出由" “,”+“,”-" 构成的n阶方阵。主对角线位置由" "构成,把方阵划分成了2个三角形, 右上直角三角形里填充“-”, 左下直角三角形里填充“+”, 当 n = 5 时,打印图形如下。
【输入】
输入一个正整数n。
【输出】
输出按题目要求的n阶方阵
【输入样例】
3
【输出样例】
*--
+*-
++*
【代码详解】
#include <bits/stdc++.h>
using namespace std;
int n; // 定义矩阵的大小
int main()
{
// 输入矩阵的大小n
cin >> n;
// 生成n×n的矩阵
for (int i = 1; i <= n; i++) // 遍历每一行
{
for (int j = 1; j <= n; j++) // 遍历每一列
{
// 对角线位置输出星号
if (i == j)
{
cout << "*";
}
// 上三角区域输出减号
else if (j > i)
{
cout << "-";
}
// 下三角区域输出加号
else
{
cout << "+";
}
}
// 每行结束后换行
cout << endl;
}
return 0;
}
【运行结果】
3
*--
+*-
++*