您的位置:首页 > 编程语言

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

2017-02-07 13:53 344 查看


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

时间限制

400 ms

内存限制

65536 kB

代码长度限制

8000 B

判题程序

Standard

作者

CHEN, Yue

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

输入格式:

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

输出格式:

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

输出样例:
aaaaaaaaaa
a        a
a        a
a        a
aaaaaaaaaa

看来题是太简单了,第一次提交是有一个测试点错误,想了想唯一没完善的就是四舍五入了,再看了看我的条件,确实奇数的时候,不会四舍五入。。改了一下之后就通过了
  
第一次的用了判断奇数偶数。
if((n%2)!=0)
{
for(i=0;i<(n/2)-1;i++)
{
cout<<a;
for(j=0;j<n-2;j++)
{
printf(" ");
}
cout<<a<<endl;
}
}
else
for(i=0;i<(n/2)-2;i++)
{
cout<<a;
for(j=0;j<n-2;j++)
{
printf(" ");
}
cout<<a<<endl;
}
第二次看了看很多人都是乘以0.5加一个0.5再强制int?
#include<iostream>
using namespace std;
int main()
{
int n,i,j;
char a;
cin>>n>>a;
for(i=0;i<n;i++)
{
cout<<a;
}
cout<<endl;
for(i=0;i<(int(n*0.5+0.5))-2;i++)
{
cout<<a;
for(j=0;j<n-2;j++)
{
cout<<" ";
}
cout<<a<<endl;
}
for(i=0;i<n;i++)
{
cout<<a;
}
cout<<endl;
return 0;
}
刚才去杭电acm看了一下,发现还是PAT简单呀。。嘤嘤嘤。。。
2017/2/7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: