#在洛谷或OJ中都存在要绘制图形的题目#
1,绘制三角形
三角的特点为:从上到下(其他情况自己套公式)是从小到大的如:
@ 1.1
@@ 2.2
@@@ 3.3
@@@@ 4.4
@@@@@ 5.5
其中可以发现长度与当前层数成正比
以此可以利用循环中的两个变量来控制,代码如下;
#include <bits/stdc++.h>//万能头文件,你值得拥有!
using namespace std;
int main()
{
int n;
cin>>n;//层数
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i/*i与j成正比*/;j++)
cout<<"@";
cout<<endl;
}
return 0;//养成好习惯
}
至于其他三角没事洛谷和OJ里用不到我也不会。
2.四边形绘制
可以分为等边的(正方形)不等边的。
先说等边的如下:
@@@ 1.3 @@@ 1.3
@@@ 2.3 或 @ @ 2.2
@@@ 3.3 @@@ 3.3
一个是空心的一个实心。
实心的套三角形把j<=i改为j<=n就行了。
空心的就是把实心的上下面不动,中间加上n-2个空格
if(i==1||i==n)cout<<@;
else
{
cout<<"@";
for(n-2次/*我好懒啊*/)
cout<<char(32);//空格
cout<<"@";
break;//不加后悔
}
画长方形
都会画正方形了又不是不会改
多设一个m,j<=m不就成了?
空心的就是把n-2次改为m-2次!
学会了吗?