经典 画矩形

发布时间 2023-04-15 21:29:10作者: 祝我好運

输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。

 

一共两种情况,一个是实心,另一个是空心,主要用嵌套循环。

首先是两个参数a,b 第三个参数我用的,第四个用c

假如是空心,先用if语句   if(c==0)

for (int i = 0; i < a; i++)//这个是高
{
for (int j = 0; j < b; j++)//这个是宽
cout << z;
cout << endl;//输出完符号后换行
}

假如是实心的,要考虑到是不是第一行和最后一行,如果是就要输满

if(i==0||i==a-1)

cout<<z;

如果是中间的部分,只需要输最左边和最右边,也就是左边界和右边界输一个

if(i==0||i==b-1)

cout<<z;

其他的输入空格

也就是else

cout<<" ";

把实心部分的写出来就是

if (c == 1)
{
for (int i = 0; i < a; i++)
{
for (int j = 0; j < b; j++)
{
if (i == 0 || i == a - 1)
cout << z;
else
{
if (j == 0 || j == b - 1)
cout <<z ;
else
cout << " ";

}
}
cout << endl;
}
}

然后把总的写出来,再用一个if语句

#include<iostream>
using namespace std;
int main()
{
int a, b, c;
char z;
cin >> a >> b >> z >> c;
if (c == 1)
{
for (int i = 0; i < a; i++)
{
for (int j = 0; j < b; j++)
{
if (i == 0 || i == a - 1)
cout << c;
else
{
if (j == 0 || j == b - 1)
cout <<c ;
else
cout << " ";

}
}
cout << endl;
}
}
else
for (int i = 0; i < a; i++)
{
for (int j = 0; j < b; j++)
cout << z;
cout << endl;
}
return 0;
}