题目链接:
https://pintia.cn/problem-sets/994805260223102976/problems/994805285812551680
AC代码(算法笔记):
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int main() {
int row,col;
char c;
scanf("%d %c",&col,&c);
if(col%2==1) row=col/2+1;
else row=col/2;
//第1行
for(int i=0;i<col;i++){
printf("%c",c);
}
printf("\n");
//第2~row-1行
for(int i=2;i<row;i++){
printf("%c",c);
for(int j=0;j<col-2;j++){
printf(" ");
}
printf("%c\n",c);
}
//第row行
for(int i=0;i<col;i++){
printf("%c",c);
}
return 0;
}
二刷:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main(){
int n,i,j;
char c;
scanf("%d %c",&n,&c);
int row;//行数
if(n%2==0) row=n/2;
else row=n/2+1;
for(i=0;i<n;i++)
printf("%c",c);
printf("\n");
for(i=1;i<row-1;i++){
printf("%c",c);
for(j=1;j<n-1;j++)
printf(" ");
printf("%c",c);
printf("\n");
}
for(i=0;i<n;i++)
printf("%c",c);
return 0;
}