题目链接->link
思路
- 行数为列数的一半,当列数为偶数时,row=col/2;当列数为奇数时,row=col/2+1。
- 第一行和最后一行都是n个字符,第二行到第row-1行都是首位各一个字符,中间为col-2个空格。
代码
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <iostream>
using namespace std;
int main(){
int row,col;
char c;
scanf("%d %c",&col,&c);
if(col%2==0)row=col/2;
else row=col/2+1;
int i,j;
for(i=0;i<col;i++){
if(i!=col-1)printf("%c",c);
else printf("%c\n",c);
}
for(i=1;i<row-1;i++){
printf("%c",c);
for(j=0;j<col-2;j++)printf(" ");
printf("%c\n",c);
}
for(i=0;i<col;i++){
if(i!=col-1)printf("%c",c);
else printf("%c\n",c);
}
return 0;
}