本文主要是介绍C++打印实心菱形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
打印 n 阶实心菱形
输入描述:
输入一个整数n,0 < n <= 10
输出描述:
输出 n 阶实心菱形 , 占 2*n-1 行
示例:
样例输入 样例输出3 *************
法1:暴力破解法
(1)菱形可以看做是由4条边围成的图形,中学简单的线性规划可以用来解决这里的问题;
(2)但有所区别的是:在线性规划中,我们知道图形区域是连续的;而在这里的问题,打印出来的“*”是离散的;所以我们用n×n个字符来表示,调用两次for循环,满足条件即可输出。
(3)4条直线分别是:j=i+n,j=n-i,j=i-n,j=3n-i
只需满足:j<i+n,j>n-i,j>i-n,j<3n-i即可
这里是离散输出,不需要取等号。
代码如下:
#include<iostream>
using namespace std;int main()
{int n = 0;</
这篇关于C++打印实心菱形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!