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

1036. 跟奥巴马一起编程

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

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

输出格式:

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

输入样例:
10 a

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



算法:

算法开始。
读入边长和字符。
输出边长个字符。
输出边长二分之一减二行的仅有两端有规定字符的字符串。
输出边长个字符。
算法结束。/

下列代码运行于VS2015,修改scanf_s语句即可在PAT运行。
#include<stdio.h>
int main(void) {
	int n, i, j, line;
	char c;
	scanf_s("%d %c", &n, &c);
	if ((double)n / 2 - n / 2 >= 0.5) {
		line = n / 2 - 1;
	}
	else {
		line = n / 2 - 2;
	}
	for (i = 0; i < n; i++) {
		putchar(c);
	}
	putchar('\n');
	for (i = 0; i < line; i++) {
		putchar(c);
		for (j = 0; j < n - 2; j++) {
			putchar(' ');
		}
		putchar(c);
		putchar('\n');
	}
	for (i = 0; i < n; i++) {
		putchar(c);
	}
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: