1 条题解
-
0
练9.1 字符菱形
解题思路
以中间一行为中心,上下两侧逐渐减少字符。第 i 行距中心 k=|i-2|,输出 k+1 个空格与 5-2k 个字符。
正确性说明
五行字符数为 1、3、5、3、1,中心列相同,形成所需菱形。
易错点
本站样例最宽行前也有一个空格,按样例整体缩进一列。
复杂度
本题输入规模固定,时间 O(1),额外空间 O(1)。
参考代码(C++11)
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); char c; cin >> c; for (int i = 0; i < 5; i++) { int k = abs(i - 2); cout << string(k + 1, ' ') << string(5 - 2 * k, c) << "\n"; } return 0; }
- 1