问题内容

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。

给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

输入格式:

输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

输出格式:

首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

输入样例:

19 *

输出样例:

解题思路

从1开始,每次增加两行,直到下一次增加超出限定个数退出循环,即可得到每一行最大的输出个数

按照规则进行输出

程序源码

#include

using namespace std;

int main(void){

int sum = 1, num;

char c;

cin>>num>>c;

int j = 3;

for(; ;j += 2){

if(sum+2*j > num)

break;

sum += 2*j;

}

int limit = j-2;

//打印上半部分

for(int i = 0; i <= limit/2; i++){

for(int j = 0; j < i; j++)

cout<

for(int j = 0; j < limit-2*i; j++)

cout<

cout<

}

//打印下半部分

for(int i = 1; 2*i+1 <= limit; i++){

for(int j = 0; j < (limit-2*i-1)/2; j++)

cout<

for(int j = 0; j < 2*i+1; j++)

cout<

cout<

}

cout<

return 0;

}

c 语言打印沙漏图形,PAT乙级 1027打印沙漏 [图形输出]相关推荐

  1. pat 乙级 1027 打印沙漏(C++)

    题目 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符号:各行符号中心对齐:相邻 ...

  2. PAT乙级 1027 打印沙漏

    本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符号:各行符号中心对齐:相邻两行符 ...

  3. PAT乙级(1027 打印沙漏)

    本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ************ ***** 所谓"沙漏形状",是指每行输出奇 ...

  4. PAT 乙级 1027. 打印沙漏(20) Java版

    本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ************ ***** 所谓"沙漏形状",是指每行输出奇 ...

  5. PAT——乙级1036:跟奥巴马一起编程 乙级1027:打印沙漏 (有坑)

    乙级1036 1036 跟奥巴马一起编程 (15 point(s)) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014 年底,为庆祝&qu ...

  6. C++学习之路 | PTA乙级—— 1027 打印沙漏 (20 分)(精简)

    1027 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个 ...

  7. pat 乙级 1006 换个格式输出整数(C++)

    题目 让我们用字母 B 来表示"百".字母 S 表示"十",用 12-n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3位的正整数. ...

  8. 1027. 打印沙漏(20)-PAT乙级真题

    本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓"沙漏形状",是指每行 ...

  9. PTA乙级 1027 打印沙漏——20分

    本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ************ ***** 所谓"沙漏形状",是指每行输出奇 ...

  10. PAT乙级——1027(有格式错误,暂未解决,求指点)

    题目:打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ************ ***** 所谓"沙漏形 ...

最新文章

  1. Linux C编程--进程介绍3--进程终止和等待
  2. Visual Studio各版本工程文件之间的转换 [转载]
  3. UVa1421 - Archery
  4. Dataguru培训优惠码 分享
  5. olr 性能调优 NO_NORMS
  6. First C program
  7. 蚂蚁集团官宣启动上市计划,上交所、港交所表示热烈欢迎...
  8. java hashmap 去重_java数组去重的两种方法
  9. PJSIP在windows(xp或者win7)下的编译,编译工具是vs2008,PJSIP版本2.3
  10. Android IntentService的使用与源码解析
  11. 涉密专用计算机平台,涉密计算机及移动存储介质保密管理系统(三合一)
  12. rs485串口转网口设置
  13. 强烈推荐提升自我的30个好习惯
  14. 使用Driftnet通过Wifi Pumpkin捕获移动图像
  15. GODADDY上买域名心得
  16. C++编程-leetcode-19-删除链表的倒数第N个结点
  17. DataBinding找不到符号,import xxx.xxx.ActivityxxxBindingImpl
  18. 告警流量分析:Cobalt Strike(默认实验文)
  19. linux基础——sed
  20. 【pwn-栈溢出】— ret2plt

热门文章

  1. vue.js源码学习分享(四)
  2. UVa140 - Bandwidth
  3. poj 1833 排列
  4. Myeclipse自定义包自动加入
  5. 关注的计算机视觉研究组和个人主页列表
  6. 迷宫问题的通用解法C语言数据结构实现
  7. 李宏毅机器学习homework0
  8. 计算机应用基础本科答案排序,计算机应用基础本科操作题
  9. md5解密 python_python写一个md5解密器示例
  10. 630显卡驱动安装win7_Centos7 显卡驱动安装教程