藍橋杯 菱形 C++算法提高 HERODING的藍橋杯之路

資源限制
時間限制:1.0s 內存限制:256.0MB
  請編程輸出一個菱形。輸入爲菱形中心到頂點的距離
樣例輸入
2
樣例輸出
在這裏插入圖片描述
解題思路:
很簡單的循環輸出問題,但是首先要找到循環的規律,每行輸出是1,3,5…2n + 1,2n - 1…1個
,所以是對稱的形式,可以用2 * (len - abs(len - i)) + 1來表示輸出的數目,len是輸入的菱形中心到頂點的距離,別忘了空格也是類似規律輸入的,代碼如下:
*

#include<bits/stdc++.h>

using namespace std;

void Blank_space(int n){
	for (int i = 0; i < n; i ++){
		cout << " ";
	}
}

int main(){
	int len;
	cin >> len;
	for (int i = 0; i < 2 * len + 1; i ++){
		Blank_space(abs(len - i));
		for (int j = 0; j < 2 * (len - abs(len - i)) + 1; j ++){
			cout << "*";
		}
		cout << endl;
	} 
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章