金字塔
前言
- 一大早上A了的第二道水题
分析
- 针对一类模拟(我也很少打),可先判断题目中要求的最终结果,将抽象过程转化为实际朴素的过程,这个时候就不要考虑代码会码多长了,保持一颗清醒的头脑,理好思路
- 要输出一个图形,会发现每一层'*'的数量与' '都是有一定规律的,那就照着这个规律,那他们分别输出即可
代码
#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
while(scanf("%d",&n)!=EOF)
{
int len=2*n-1;
for (int i=1;i<=n;i++)
{
int hav=2*i-1;
int rem=(len-hav)/2;
for (int j=1;j<=rem;j++) putchar(' ');
for (int j=1;j<=hav;j++) putchar('*');
for (int j=1;j<=rem;j++) putchar(' ');
puts("");
}
}
return 0;
}
彩蛋(没想到吧)
- 给大家放一个题,有兴趣可以思考一下(有模拟解法)
- 如果想知道解法是否正确就来私我,有全部数据oヽ( ̄▽ ̄)ノ