蓝桥杯 菱形 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;
	} 
} 

猜你喜欢

转载自blog.csdn.net/HERODING23/article/details/106876392