转跳点:

1036 跟奥巴马一起编程 (15分)
 

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

输入格式:

输入在一行中给出正方形边长 N(3)和组成正方形边的某种字符 C,间隔一个空格。

输出格式:

输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。

输入样例:

10 a
 

输出样例:

aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa

  这道题只需要注意一点就好了,题目中的这句话 “我们输出的行数实际上是列数的 50%”,记住行数是列数的一半。但这又涉及到另一个问题,当列数为奇数的时候存在四舍五入的情况,C语言整数相除是向0取整的,所以我们需要一个式子来判断小数是不是大于5。那么这个式子怎么写呢?

  (m+n/2)/ n, 为什么呢,让我们先思考一下,为什么是如何判断小数部分是不是大于0.5。

  其实很简单,设n为除数,m为被除数,如果 m%n > n / 2 的时候求出来的小数绝对大于等于0.5,因为余数的可能为n,所以0~9能乘出的数据就被分成n份当其得出的余数大于n/2时,就会用到n*n/2以上的数据。既然如此那么我们给数据加上n/2的大小,如果原数据大于除数的一半,那么加上n/2之后就会上升到另一个数量级,如果小于n,那么数量级不变。

  这道题 n = 2 所以啊,原始就变形为 M+1)/ 2

其他就没有什么了

AC代码如下:

 1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main(void)
5 {
6 int n;
7 char ch;
8
9 scanf("%d %c", &n, &ch);
10
11 for (int i = 0; i < (n + 1) / 2; i++)
12 {
13 for (int j = 0; j < n; j++)
14 {
15 if (0 == i || ((n + 1) / 2) - 1 == i)
16 { //第一行和最后一行全部输出
17 printf("%c", ch);
18 continue;
19 }
20 if (0 == j || n - 1 == j)
21 { //其他行的第一位和最后一位
22 printf("%c", ch);
23 continue;
24 }
25 printf(" ");
26 }
27 printf("\n");
28 }
29 }

  PTA不易,诸君共勉!

P1036 跟奥巴马一起编程的更多相关文章

  1. PAT-乙级-1036. 跟奥巴马一起编程(15)

    1036. 跟奥巴马一起编程(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 美国总统奥巴马不仅呼吁所有人 ...

  2. PAT 乙级 1036 跟奥巴马一起编程(15) C++版

    1036. 跟奥巴马一起编程(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 美国总统奥巴马不仅呼吁所有人 ...

  3. PAT 1036 跟奥巴马一起编程(15)(代码)

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

  4. 【算法笔记】B1036 跟奥巴马一起编程

    1036 跟奥巴马一起编程 (15 分) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴 ...

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

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

  6. PAT (Basic Level) Practise (中文)-1036. 跟奥巴马一起编程(15)

    PAT (Basic Level) Practise (中文)-1036. 跟奥巴马一起编程(15)  http://www.patest.cn/contests/pat-b-practise/103 ...

  7. PAT 1036. 跟奥巴马一起编程(15)

    美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝"计算机科学教育周"正式启动,奥巴马编写了很简单的计算机代 ...

  8. PAT (Basic Level) Practise:1036. 跟奥巴马一起编程

    [题目链接] 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在 ...

  9. PAT 1036 跟奥巴马一起编程

    https://pintia.cn/problem-sets/994805260223102976/problems/994805285812551680 美国总统奥巴马不仅呼吁所有人都学习编程,甚至 ...

随机推荐

  1. sdfsdsf

    1 $('.advert-title').each(function(){ 2 var TXTlength = $(this).text().length; // 当前文本的长度 3 if(TXTle ...

  2. container-coding-codec

    1 数字容器格式 container format 1.1 一些音频专有的容器: 1.2 静态图像专用的容器: 1.3 视频容器,可以容纳多种类型的音频和视频以及其他媒体 1.4 视频容器格式概述 1 ...

  3. LoRaWAN协议(一)------架构解析

    摘自:http://www.cnblogs.com/answerinthewind/p/6200497.html LoRaWAN协议(一)-----架构解析 (1)LoRaWAN分层 LoRaWAN总 ...

  4. L1和L2范数理解

    参考:https://www.jianshu.com/p/4bad38fe07e6

  5. Metasploit学习笔记——社会工程学

    1.社会工程学攻击案例——伪装木马 Linux命令终端输入命令msfvenom -l payloads用来列出攻击载荷,grep命令用来查询所需要的攻击载荷,条件是windows系统.要有回连至监听主 ...

  6. 5、mysql的连接查询

    1.内联查询 >inner join 或 join 2.外联查询 (1)左连接 >left outer join 或 left join (2)右连接 >right outer jo ...

  7. 「NOIP2010」引水入城

    传送门 Luogu 解题思路 第一问很好做,只要总第一行的每一个点都跑一边dfs,判断最后一行是否有点标记不了即可. 考虑处理第二问. 其实这一问就是: 把第一行的点都看做是对最后一行一些点的覆盖,求 ...

  8. vue-i18n突然所有的都解析不出来了

    因为浏览器cookie缓存的语言标志与代码中不一致

  9. 十三: 悲观锁&乐观锁:解决丢失更新问题

    悲观锁:认为丢失更新一定会出现,可以在查询的时候加入for update 认为丢失更新一定会出现,查询时: select * from account for update;for update :  ...

  10. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:包装类

    public class WrapperDemo01{ public static void main(String args[]){ int x = 30 ; // 基本数据类型 Integer i ...