https://www.luogu.com.cn/problem/B2083https://www.luogu.com.cn/problem/B2083
解题思路
这题我用了纯暴力解法,主要看,f是实心就用双层循环输出,f是空心就先输出第1行,后面第二行到第a-1行都是第1个和第宽个输出,其余输出空格,最后输出第a行,题目还是非常简单的。代码中也做了注解
CODE
#include<iostream>//可以用万能头文件
using namespace std;
int main(){
int a,b,d;//d就是题目中的f
char c;
cin>>a>>b>>c>>d;
if(d==0){//如果要画空心
for(int i=1;i<=b;i++){//输出第一行
cout<<c;
}
cout<<endl;//换行不能忘
for(int i=1;i<=a-2;i++){//输出第2到第a-1行
cout<<c;//输出第1个
for(int i=1;i<=b-2;i++){
cout<<" ";//输出第2到第b-1个
}
cout<<c;//输出最后一个
cout<<endl;//换行
}
for(int i=1;i<=b;i++){
cout<<c;//输出最后一行
}
}
else{//如果要画实心
for(int i=1;i<=a;i++){//双重循环i控制行,也就是a,j控制列,也就是b
for(int j=1;j<=b;j++){
cout<<c;
}
cout<<endl;
}
}
return 0;
}