题源:PAT B1036
描述:给出正方形边长N(3<=N<=20),和一个字符,间隔一个空格,用给定的字符画出正方形。由于行间距比列间距大,为了让看上去更像正方形,所输出的行数实际是列数的50%(四舍五入取整)
例如输入:
10 a
输出:
aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa
#include <cstdio>
int main(){
int j,i;
char x;
scanf("%d %c",&j,&x);//必须要有空格
if (j%2==0) i=j/2;
else i=j/2+1;
for(int p=0;p<j;p++) {
printf("%c",x);
}
printf("\n");
for(int p=0;p<i-2;p++){
printf("%c",x);
for(int k=0;k<j-2;k++) printf(" ");
printf("%c\n",x);
}
for(int p=0;p<j;p++) {
printf("%c",x);
}
return 0;
}