原题链接:https://ac.nowcoder.com/acm/contest/19305/1001

题目描述

输出双层金字塔。

输入描述:

多个测试数据。每个测试数据输入一个整数n( 2 <= n <= 9)

输出描述:

输出双层金字塔

示例1

输入

2
5

输出

图片说明


现在的打印题都这么毒瘤占内存图片说明
本题有多组输入,最外层记得套个循环输入while(scanf("%d",&c)==1)while(cin >> c)
上下金字塔分两次两个三角形打印,写两个for循环,每个循环中嵌套两个for循环分别打印空格和*
内层for循环的趟数代表打印空格和*的个数
找规律,不难找出打印个数与循环第几趟与输入的关系,真难找就画图列表找规律图片说明
图片说明
第二个for循环同理找规律
记得每次打印完后需要打印一个回车
写下代码

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
    int a1,a2,c;
    while(scanf("%d",&c)==1)//多组数据输入
    {
    for(a1=1;a1<=c;a1++)//打印正三角形
    {
        for(int b=1;b<=(c-a1);b++) printf(" ");
        for(int b=1;b<=(2*a1-1);b++) printf("*");
        printf("\n");
    }
    for(a2=1;a2<=(c-1);a2++)//打印倒三角形
    {
        for(int b=1;b<=a2;b++) printf(" ");
        for(int b=1;b<=((c-a2)*2-1);b++) printf("*");
        printf("\n");
    }

    }
    return 0;
}