本人第一次发博客,请大佬们多多指教
时间限制: 1000ms
空间限制: 131072kB
题目描述
时间:1s 空间:32M
题目描述:
还记得打印金字塔的题目么?
今天让我们来打印人形金字塔,感受下人山人海的力量。
输入一个整数n
输出n层的金字塔,第i层有i个人,注意两个人之间的空隙大小
输入格式:
输出一个整数n
输出格式:
输出n层人形金字塔
样例输入1:
2
样例输出1:
O
/|\
/ \
O O
/|\ /|\
/ \ / \
样例输入2:
4
样例输出2:
O
/|\
/ \
O O
/|\ /|\
/ \ / \
O O O
/|\ /|\ /|\
/ \ / \ / \
O O O O
/|\ /|\ /|\ /|\
/ \ / \ / \ / \
约定:
1<=n<=10
解析:
这里采用了最朴素的思路,逐行输出。
每组输出包含两个循环,第一个输出空格,第二个输出小人部分。
下面附满分代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
for(int i = 1;i <= n;i ++)//人数+行数
{
for(int k = 1;k <= 3 * (n-i);k ++)
{
cout << " ";
}
for(int k = 1;k <= i;k ++)
{
cout << " O ";
}
cout << "\n";
for(int k = 1;k <= 3 * (n-i);k ++)
{
cout << " ";
}
for(int k = 1;k <= i;k ++)
{
cout << "/|\\ ";
}
cout << "\n";
for(int k = 1;k <= 3 * (n-i);k ++)
{
cout << " ";
}
for(int k = 1;k <= i;k ++)
{
cout << "/ \\ ";
}
cout << "\n";
}
return 0;
}