PATB--1036 (15分)

输入格式:

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

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

10 a

输出样例:

aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa

1、解题思路

(1)行数row是列数col的50%,并且需要四舍五入,即row=col/2,当col为偶数是,row为整数,当col为奇数时,row为浮点数,四舍五入后row=col/2+1,;
(2)分析图形特征:正方形第一行和最后一行输出col个字符,中间1~row-2行先输出一个字符,再输出col-2 个空格,最后输出一个字符,换行。
代码如下:

#include<cstdio>
int main(){
	int n;
	char c;
	scanf("%d %c",&n,&c);
	int col=n;
	int row;
	if(col%2==0) row=col/2;
	else row=col/2+1;
	for(int i=0;i<col;i++){
		printf("%c",c);
	}
	printf("\n");
	for(int i=1;i<=row-2;i++){
		printf("%c",c);
		for(int j=0;j<col-2;j++){
			printf(" ");
		}
		printf("%c",c);
		printf("\n");
	}
	for(int i=0;i<n;i++){
		printf("%c",c);
	}
	return 0;
}

2、总结

1、要注意行数的计算。

发布了44 篇原创文章 · 获赞 0 · 访问量 535

猜你喜欢

转载自blog.csdn.net/MDZZ_LJ/article/details/104977523