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

题目描述:

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

输入格式:

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

输出格式:

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

输入样例:
10 a
输出样例:
aaaaaaaaaa
a        a
a        a
a        a
aaaaaaaaaa  

思路:

通过对2取余判断N为奇数还是偶数,利用for循环嵌套,在第一行、最后一行输出字符C,在中间行的第一列和最后一列输出字符C,其余位置输出空格;

代码如下:

#include 

int main()
{
	int n, row;
	char ch;
	scanf ("%d %c", &n, &ch);
	if (n % 2 == 1)		row = n / 2 + 1;
	else 	row = n / 2;								//确定行数row; 
	
	for (int i = 1; i <= row; i++) {
		for (int j = 1; j <= n; j++) {
			if (i == 1 || i == row)		printf ("%c", ch);	   //第一行和最后一行输出字符C; 
			else  if (j == 1 || j == n) 	printf ("%c", ch);	   //第一列和最后一列输出字符C; 
					else		printf (" ");			
	
			if (j == n)		printf ("\n");
		}
	}

 	return 0;
}


你可能感兴趣的:(PAT,B)