题解
【入门】字符图形7-星号菱形
1 条题解
-
0
解题思路
输入的 n 表示菱形中心到边的层数。先输出上半部分和中间一行:第 i 行有 n-i 个空格和 2*i+1 个星号;再从 n-1 倒着输出下半部分。
参考代码
// 读取题目给出的数据。 #include <iostream> using namespace std; int main() { int n; cin >> n; // 输出上半部分和中间一行 for (int i = 0; i <= n; i++) { for (int j = 0; j < n - i; j++) { cout << " "; } for (int j = 0; j < 2 * i + 1; j++) { cout << "*"; } cout << endl; } // 输出下半部分 for (int i = n - 1; i >= 0; i--) { for (int j = 0; j < n - i; j++) { cout << " "; } for (int j = 0; j < 2 * i + 1; j++) { cout << "*"; } cout << endl; } return 0; }复杂度分析
图形有 O(n) 行,每行最多输出 O(n) 个字符,时间复杂度为 O(n²),空间复杂度为 O(1)。
- 1