转跳点:

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. Django:验证email或者name是否已被注册

    灵感: http://blog.csdn.net/xxm524/article/details/48369623 使用表单的dajngo的clean()方法实现

  2. Android中的Sqlite中的onCreate方法和onUpgrade方法的执行时机--(转)

    原文:http://blog.csdn.net/jiangwei0910410003/article/details/46536329 今天在做数据库升级的时候,遇到一个问题,就是onCreate方法 ...

  3. zookeeper logs is missing zookeeper 日志丢失

    ERROR [main:QuorumPeerMain@85] - Invalid config, exiting abnormally Invalid config, exiting abnormal ...

  4. SVN偷锁,强制解锁

    1.将被锁文件SVN Check out...到本地硬盘2.点击文件右键,选择get lock 3.勾上 steal the locks 4.点击文件右键,选择 Release Lock操作即可 学无 ...

  5. 深入理解python(二)python基础知识之数据结构

    数据结构 Python中的内置数据结构(Built-in Data Structure):列表list.元组tuple.字典dict.集合set,这里只着重说前三个 >>> d=di ...

  6. ibd2sdi — InnoDB表空间SDI提取实用程序

    参考mysql8.0官方文档 https://dev.mysql.com/doc/refman/8.0/en/ibd2sdi.html ibd2sdi是一个实用程序,用于从表空间文件中提取 序列化的字 ...

  7. Slim安装以及使用

    最近在用backbone.js 做东西,因为牵扯到REST services 所以需要后台支持,此处选择了php.Slim 是php的一个框架. 貌似国内文章对此的介绍比较少,在安装Slim的过程中出 ...

  8. 第1节 IMPALA:6、yum源制作过程

    impala的安装:第一步:下载5个G的安装包,并且上传linux,解压第二步:安装httpd的服务,并启动,访问httpd就是访问我们linux的 /var/www/html这个路径下面的东西第三步 ...

  9. 我的Grunt之旅-初识gruntfile文件

    时间:2018-03-06 18:23  事件:配置 gruntfile.js文件 首先,回忆一下之前的点,grunt项目下面必须有两个文件  ,第一个  package.json ,第二个  Gru ...

  10. 【C】揭秘rand()函数;

    原文地址:http://www.cnblogs.com/ngnetboy/archive/2012/11/23/2784078.html 相信只要是程序猿都会知道rand()函数是用来取随机数的一个库 ...