留意题目要求
by 智子·起源 @ 2023-02-01 22:17:27
@[Wanzm](/user/912777)
> 第四个参数 f 为整数,0 代表空心,否则代表实心。
所以改一下 if 的条件就行了。为 0 则空心,不为 0 则实心。
by 6k823 @ 2023-02-01 22:17:43
改后AC代码:
```cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b, f;
char c;
cin >> a >> b >> c >> f;
if (f == 0)
{
for (int i = 1;i <= a;i ++)
{
if (i == 1 || i == a)
{
for (int j = 1;j <= b;j ++)
{
cout << c;
}
cout << "\n";
}
else
{
cout << c;
for (int j = 1;j <= b - 2; j ++)
{
cout << ' ';
}
cout << c;
cout << "\n";
}
}
return 0;//注意这里
}
for (int i = 1;i <= a;i ++)
{
for (int j = 1;j <= b ;j ++)
{
cout << c;
}
cout << "\n";
}
return 0;
}
```
by 智子·起源 @ 2023-02-01 22:17:50
@[Wanzm](/user/912777) AC 代码,就改了 if 的条件。
```cpp
#include <bits/stdc++.h>//做到3/4才发现我怎么和一个题解那么像,甚至是排版
using namespace std;
int main()
{
int a, b, f;
char c;
cin >> a >> b >> c >> f;
if (f)
{
for (int i = 1;i <= a;i ++)
{
for (int j = 1;j <= b ;j ++)
{
cout << c;
}
cout << "\n";
}
}//实心测试成功
else
{
for (int i = 1;i <= a;i ++)
{
if (i == 1 || i == a)
{
for (int j = 1;j <= b;j ++)
{
cout << c;
}
cout << "\n";
}
else
{
cout << c;//先输出一个当边框
for (int j = 1;j <= b - 2; j ++)
{
cout << ' ';
}
cout << c;//循环结束后就说明空白够了 ,在输出一个当边框
cout << "\n";//换行,下一个
}
}
}
return 0;//测试成功
}
```
by 6k823 @ 2023-02-01 22:19:44
@[QiMi](/user/528540) 感谢啦~
by Wanzm_Alymine @ 2023-02-01 22:21:55
@[智子·起源](/user/90971) 感谢感谢
by Wanzm_Alymine @ 2023-02-01 22:22:15