PAT——乙级1036:跟奥巴马一起编程 &乙级1027:打印沙漏 (有坑)
乙级1036
1036 跟奥巴马一起编程 (15 point(s))
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
输入格式:
输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。
输出格式:
输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。
输入样例:
10 a
输出样例:
aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa
这个就很简单了
#include<cstdio>
#include<cmath> int main(){
int n;
char a;
scanf("%d %c",&n,&a);
for(int i=;i<round(float(n)/.);i++){
for(int j=;j<n;j++){
if(i==||i==round(float(n)/.)-){
printf("%c",a);
}else{
if(j==||j==n-){
printf("%c",a);
}else{
printf(" ");
}
}
}
printf("\n");
}
return ;
}
乙级1027
1027 打印沙漏 (20 point(s))
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印
*****
***
*
***
*****
所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
输入格式:
输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。
输出格式:
首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。
输入样例:
19 *
输出样例:
*****
***
*
***
*****
2
这道题简直有毒。。。。我严重怀疑出题的严谨性。
我第一次提交代码,是两个Answer Wrong。我又修改了一下。。。这两个成为 Presentation Error格式错误了。。。我百思不得其解。
然后看算法笔记的解法。。。虽然跟我的不一样。但是他输出的时候

每一行直接换行了,而我是又输出了几个空格。跟最长的一样长了才换行的。看着是一模一样的。天知道这有个这么大的坑呀。。。他的输出格式里又没有规定。。。坑爹呀。
我的解法是先算出了上面倒三角形总共有几行,再一行一行的输出。比较麻烦。。。
#include<cstdio>
#include<cmath>
int main(){
int N,n,temp,j;
char c;
scanf("%d %c",&N,&c);
n=int(sqrt((N-)/.+));
if(n==&&n>) n=n-;
if(n==) printf("%c\n",c);
else{
for(int i=;i<n;i++){
for(j=;j<i;j++){
printf(" ");
}
for(;j<*n--i;j++){
printf("%c",c);
}
printf("\n");
}
for(int i=n-;i>=;i--){
for(j=;j<i;j++){
printf(" ");
}
for(;j<*n--i;j++){
printf("%c",c);
}
printf("\n");
}
}
if(n!=) printf("%d\n",N-(n*n-)*-);
else printf("%d\n",n); return ;
}
PAT——乙级1036:跟奥巴马一起编程 &乙级1027:打印沙漏 (有坑)的更多相关文章
- PAT 乙级 1036 跟奥巴马一起编程(15) C++版
1036. 跟奥巴马一起编程(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 美国总统奥巴马不仅呼吁所有人 ...
- PAT 乙级 1036.跟奥巴马一起编程 C++/Java
题目来源 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏 ...
- PAT乙级-1036.跟奥巴马一起编程(15)
题解 题解: 注意"行数是列数的50%(四舍五入)" #include<iostream> using namespace std; int main() { int ...
- PAT Basic 1036 跟奥巴马一起编程 (15 分)
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个 ...
- PAT (Basic Level) Practise (中文)-1036. 跟奥巴马一起编程(15)
PAT (Basic Level) Practise (中文)-1036. 跟奥巴马一起编程(15) http://www.patest.cn/contests/pat-b-practise/103 ...
- PAT 1036 跟奥巴马一起编程(15)(代码)
1036 跟奥巴马一起编程(15)(15 分) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝"计算机科学教育周& ...
- PAT-乙级-1036. 跟奥巴马一起编程(15)
1036. 跟奥巴马一起编程(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 美国总统奥巴马不仅呼吁所有人 ...
- PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20)
PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20) http://www.patest.cn/contests/pat-b-practise/1027 本题 ...
- PAT——1036. 跟奥巴马一起编程
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正 ...
随机推荐
- linux上部署redis实现与Python上的redis交互(有坑)
1.概念 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件 2.linux安装redis 2.1yum源安装redis(不推荐) #前提得配置好阿里 ...
- 22.访问jar包下资源路径里的文件
访问jar包下资源路径里的文件 因为打包路径和你构建的代码路径是有差异的,想要查看真实的路径情况,可以查看编译后的classes目录下的文件结构. 想要获取资源文件流: private InputSt ...
- IOS异步获取数据并刷新界面dispatch_async的使用方法
在ios的开发和学习中多线程编程是必须会遇到并用到的.在java中以及Android开发中,大量的后台运行,异步消息队列,基本都是运用了多线程来实现. 同样在,在ios移动开发和Android基本是很 ...
- 通过xshell在linux上安装redis3.0.0
通过xshell在linux上安装redis3.0.0 0)首先要安装环境:yum install gcc-c++ 1)通过xftp6将redis安装包上传到linux:解压缩:tar -xvfz r ...
- 线程池的类型以及执行线程submit()和execute()的区别
就跟题目说的一样,本篇博客,本宝宝主要介绍两个方面的内容,其一:线程池的类型及其应用场景:其二:submit和execute的区别.那么需要再次重申的是,对于概念性的东西,我一般都是从网上挑选截取,再 ...
- MySQL实现序列自增
#创建序列表 DROP TABLE IF EXISTS `sequence`; CREATE TABLE `sequence` ( `name` ) NOT NULL COMMENT '序列名称', ...
- JS高度融合入门笔记(一)
复制下面的代码到编辑器里,让编辑器自动排版一下格式,效果会好一点,自我感觉我笔记的条理还是比较容易记忆的 <!DOCTYPE html><html><head> & ...
- ASP.NET Web用户控件
用户控件可用来实现页面中可重用的代码,是可以一次编写就多处方便使用的功能块.它们是 ASP.NET控件封装最简单的形式.由于它们最简单,因此创建和使用它们也是最简单的.用户控件实际上是把已有的服务器控 ...
- JSP/Servlet开发——第一章 动态网页基础
1.动态网页:在服务端运行的使用程序语言设计的交互网页 : ●动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站(股票网站),一般情况下动态网站通过数据库进行架构. ●动态 ...
- js实现区县联动
1. 引入区县联动函数如下,将provinceList中数据改为需要联动的数据信息 var addressInit = function(_cmbProvince, _cmbCity, _cmbAre ...