原题链接: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;
}
京公网安备 11010502036488号