解题思路:
1.由题可得,输出的矩形受四个变量的控制,a和b表示行和列,字符变量是输出的字符,还有一个变量flag控制是实心的还是空心的
2.那么首先判断是否是实心,如果是实心,那么创建一个嵌套循环输出字符即可,注意换行
3.如果是空心的话,可以看到如果行或者列是第一行,最后一行,第一列,最后一列的时候是有字符的,那么可以判断if(i==1||i==a||j==1||j==b),输出字符,否则输出空格
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
bool flag;
char c;
cin>>a>>b>>c>>flag;
if(flag==1)//判断如果是实心的话
for(int i=1;i<=a;i++)
{
for(int j=1;j<=b;j++)
{
cout<<c;
}
cout<<endl;
}//依次打印a行n列的字符
else //如果是空心的话
for(int i=1;i<=a;i++)
{
for(int j=1;j<=b;j++)
{
if(i==1||i==a||j==1||j==b)//如果列号行号满足条件
cout<<c;//输出字符
else//否则,输出空格
cout<<" ";
}
cout<<endl;
}
return 0;
}