同志们好!
挖掘机技术哪家强?
当然是洒家强!
广告结束。
今天给大家带来的题目是:C++ 1097:画矩形
目录:
1.题目到底是啥?
2.史上最详细题解!
3.代码举例!
题目到底是啥?
今天不搞怪了
不告诉你
那是不可能的
1097:画矩形
【题目描述】
根据参数,画出矩形。输入四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。
【输入】
输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。
【输出】
输出画出的图形。
【输入样例】
7 7 @ 0
【输出样例】
@@@@@@@
@ @
@ @
@ @
@ @
@ @
@@@@@@@
题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1097
史上最详细题解
C++1097难度系数:AAA
这道题只要搞清楚到底是怎么一回事就行了
输入四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。
看懂了吗?
没看懂再看一遍
输入四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。
应该看懂了
除了审题还有一个难点:怎么控制它是实心还是空心?
其实,在输出的过程中,无非就是两种状态:字符或者空格
在输出的过程中判断就行了!
也就是说:
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
if(k==1||j==1||j==m||i==1||i==n)
cout<<ch;
else
cout<<" ";
cout<<endl;
}
让我们呼啦呼啦呼啦呼啦大变!
完整代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m,k;
char ch;
cin>>n>>m>>ch>>k;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
if(k==1||j==1||j==m||i==1||i==n)
cout<<ch;
else
cout<<" ";
}
cout<<endl;
}
return 0;
}
代码举例
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m,k;
char ch;
cin>>n>>m>>ch>>k;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
if(k==1||j==1||j==m||i==1||i==n)
cout<<ch;
else
cout<<" ";
}
cout<<endl;
}
return 0;
}