【牛客】---循环双层金字塔

【牛客】---循环双层金字塔

题目链接:https://ac.nowcoder.com/acm/contest/19305/1001
来源:牛客网

题目描述
输出双层金字塔。

输入描述:
多个测试数据。每个测试数据输入一个整数n( 2 <= n <= 9)
输出描述:
输出双层金字塔
示例1
输入

2
5

输出

 *
***
 *
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

代码如下:

#include<iostream>
using namespace std;
int main(){
    int n;
    
    while (cin >> n)//当有输出时循环
    {
        for (int i = 0; i < n; i++)
        {
            //输出空格,因为上面空格是逐渐递减的,这里i是逐渐递增,所以我们j<n-i-1是逐渐递减
            //并且每次递减1
            for (int j = 0; j < n-i-1; j++)
            {
                cout << " ";
            }
            //输出*,因为上面*是逐渐递增的,这里i是逐渐递增,所以我们j<2*i+1是逐渐递增
            //并且每次递增2
            for (int j = 0; j < 2 * i + 1; j++)
            {
                cout << "*";
            }
            cout << endl;
        }
        for (int i =n-1; i > 0; i--)
        {
            //输出空格,因为下面空格是逐渐递增的,这里i是逐渐递减,所以我们j<n-i是逐渐递增
            //并且每次递增1
            for (int j = 0; j < n-i; j++)
            {
                cout << " ";
            }
            //输出*,因为下面*是逐渐递减的,这里i是逐渐递减,所以我们j<2*i+1是逐渐递减
            //并且每次递减2
            for (int j = 0; j < 2*i-1; j++)
            {
                cout << "*";
            }
            cout << endl;
        }
    }
    
    
    return 0;
}
posted @ 2023-01-14 09:50  、怪咖  阅读(193)  评论(0)    收藏  举报