XJOI 3576-人山人海

 本人第一次发博客,请大佬们多多指教

时间限制: 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;
}

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值