转跳点:

1027 打印沙漏 
 

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

*****
***
*
***
*****
 

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

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

输入格式:

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

输出格式:

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

输入样例:

19 *
 

输出样例:

*****
***
*
***
*****
2
 
  这道题就是考察细心,我还记得当初大一的时候有个小姐姐来问怎么打印菱形用 * ,我直接说printf就好,结果她来了一句有没有其他方法,她这一问造就我现在写写这道题无比的顺畅。
没啥好说的,只要注意不用打印右边的空格就行
 
代码:
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h> int main(void)
{
int n, floor;
char ch;
scanf("%d %c", &n, &ch); floor = (int)sqrt((n + 1) / 2); //上三角
for (int i = 0; i < floor; i++)
{
for (int j = 0; j < i; j++)
{
printf(" ");
}
for (int j = 0; j < (floor - i - 1) * 2 + 1; j++) //j小于的是等差数列求和公式每一层都增加2
{
printf("%c", ch);
}
putchar('\n');
} //下梯形
for (int i = 1; i < floor; i++)
{
for (int j = 1; j < floor - i; j++)
{
printf(" ");
}
for (int j = 0; j < (i)*2 + 1; j++) //道理同上,这里从1开始,下三角不打印第一行
{
printf("%c", ch);
}
putchar('\n');
} printf("%d\n", n - (floor * floor * 2 - 1)); //等差求和得多余的 return 0;
}

 
PAT不易,诸君共勉!

 

P 1027 打印沙漏的更多相关文章

  1. PAT乙级 1027. 打印沙漏(20)

    1027. 打印沙漏(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求你写个程序把给定的符号打印成 ...

  2. PAT (Basic Level) Practise (中文)1027. 打印沙漏(20)

    1027. 打印沙漏(20) 时间限制 200 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求你写个程序把给定的符号打印成 ...

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

    1027. 打印沙漏(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求你写个程序把给定的符号打印成 ...

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

    1027. 打印沙漏(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求你写个程序把给定的符号打印成 ...

  5. PAT 1027 打印沙漏(20)(思路)

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

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

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

  7. PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20)

    PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20)  http://www.patest.cn/contests/pat-b-practise/1027 本题 ...

  8. PAT(B) 1027 打印沙漏(Java)

    题目链接:1027 打印沙漏 (20 point(s)) 题目描述 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * ...

  9. PAT 1027. 打印沙漏

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

随机推荐

  1. 基于TF-IDF的推荐

    仅作学习使用 基于TF-IDF的推荐: 将文档分词 对于每个term,计算词频TF和逆文本指数IDF,形成term的权重 计算项目文档和用户偏好文档的相似度 参考: https://blog.csdn ...

  2. 第1节 kafka消息队列:5、javaAPI操作

    8.kafka的API 详见代码   第一步:导入kafka的开发jar包 Kafka生产者 Kafka消费者

  3. 076、Java数组之定义数组

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  4. Python字符串魔法方法

    isalpha()判断是否权威字母或者汉字 isdecimal()(十进制小数)    isdigit()  判断是否为数字 特殊数字 isdigit()判断更为厉害   也是判断数字  都返回Tru ...

  5. spring源码第二章_容器的基本实现

    一.先用一个简单的获取bean实例的例子来了解 1.类结构如下: 2.MyTestBean.java为bean对象,实体类,代码如下: MyTestBean 3.BeanFactoryTest代码如下 ...

  6. 吴裕雄--天生自然JAVAIO操作学习笔记:字符编码与对象序列化

    public class CharSetDemo01{ public static void main(String args[]){ System.out.println("系统默认编码: ...

  7. 吴裕雄--天生自然JAVAIO操作学习笔记:IO操作实例、Scanner、数据操作流与合并流

    import java.io.* ; public class ExecDemo01{ public static void main(String args[]) throws Exception{ ...

  8. arm linux 移植支持 HP打印机

    背景 由于业务需要,需要hi3531d主板上加入对于HP打印机的支持. 通过与产品经理,技术主管的沟通:通用支持是不现实的,只要求彩色打印,先不考虑打印机的价格,只要支持一款打印机即可. 注意: Li ...

  9. BVS安全检测之检查Linux是否口令生存周期

    口令生存周期的配置文件为 /etc/login.defs vim 打开该文件,命令模式下输入 /PASS_MAX_DAYS 找到该配置信息的位置 我的Linux操作系统默认显示的是99999,说明我当 ...

  10. zigbee CC2530首选方案模组:TZU06A1

    模块特点 微型24-pin 邮票式SMT 封装 提供U.FL 接口,用于外接SMA 天线 小尺寸封装:16mm*20mm*3.7mm 通过欧盟CE0168.欧盟ROHS 认证 基于8051 单片机架构 ...