395.1、禁止标记(stop) 2018NHOI小乙 题目描述
学校举行春游活动,有些地点是禁止学生活动的,老师知道小C是goc编程高手,想让小C用goc软件画一个禁止标记,如下左图所示:
图形是由红色的线粗为10线画出来的,圆的半径为100, 2条直径相互垂直并且左右对称。
题目解答:
int main(){
p.size(10).c(1);
p.o(100);
p.lt(45).fd(100).bk(200).fd(100);
p.rt(90).fd(100).bk(200);
return 0;
}
396.2、三角形(traingle.cpp)2018NHOI小乙 题目描述
在去郊野的路上,小C的同桌小P拿着一个风车玩具迎风跑动,彩色的风车欢快地转动着。小C觉得很漂亮,决定用 goc软件快速的画出来。如下左图所示:
图形每条边长均是100,颜色编号分别是1、2、3。
题目解答:
int main(){
for(int j=0;j<3;j++)
{for(int i=1;i<4;i++)
p.c(i).fd(100).rt(360.0/3);
p.rt(360.0/3);}
return 0;
}
397.3、柠檬片(lemon)2018NHOI小乙 题目描述
中午野炊时同学们吃着烤肉,需要清凉的柠檬水解渴。为了增加视觉效果,小C把刚才画的三角形组成的风车形状改造了一下,画出了下面的左图的柠檬片:
三角形的边长还是100,它们颜色号是5。
大圆的半径为110,小实心圆的半径为20,它颜色号是13。
但是同学们希望能用指定的N个三角形画出更漂亮的柠檬片,请你协助小C完成任务。
输入格式
一个整数N,范围[2,100]。
输出格式
相应的柠檬片图形。第一个三角形第1条边向上,所有三角形旋转角度相等。
输入/输出例子1
输入:
20
输出:
输入/输出例子2
输入:
5
输出:
题目解答:
int main(){
int n;cin>>n;
p.o(110,13);
for(int j=0;j<n;j++)
{ for(int i=0;i<3;i++)
p.c(5).fd(100).rt(360.0/3);
p.rt(360.0/n);}
p.oo(20,13);
return 0;
}
398.4、山峰(mountain)2018NHOI小乙 题目描述
等待制作柠檬水的时间是无聊的,大家只能欣赏远处的山脉。
小C觉得可以用N个宽度是20的矩形表示一段远处山脉的高度。比如N=10,高度是50 60 80 70 40 20 55 75 85 90,绘制的图形如下:
可是小P想到“无限风光在险峰”,特别喜欢山峰,希望把表示山峰的矩形里面画个实心的矩形。注意,只有一个高度的左右2边同时都比它矮时,才叫山峰。上面的例子最终的结果是:
输入格式
第一行:1个整数N,范围是[1,10]。
第二行:N个整数,每个整数范围是[10,200]。
输出格式
相应的图形。矩形的宽是20,高度是输入的山高度,山峰用实心矩形。
输入/输出例子1
输入:
5
40 60 50 70 54
输出:
题目解答:
int main(){
int N;
int a[100];
cin>>N;
for (int i=0;i<N;i++)
cin>>a[i];
for (int i=0;i<N;i++)
{
p.moveTo(i*20,a[i]/2.0);
if (i>0&&i<N-1&& a[i]>a[i-1]&&a[i]>a[i+1] )
p.rr(20,a[i]);
p.r(20,a[i]);
}
return 0;
}
399.5、水杯(cup)2018NHOI小乙 题目描述
好消息,柠檬水终于制作好了!一开始柠檬水在红色水杯A里,然后尽量倒入绿色水杯B和青蓝色水杯C中。3水杯的粗细都是一样的(直径都是50),只是高度分别是a、b、c。一开始A水杯是满的,B和C水杯是空的,小C把水杯尽可能的先倒入B;如果B满了后A水杯还有水,就再尽量倒入C水杯。
小C请你用GoC画几个矩形来表示倒水后的每个水杯的高度。例如a=200,b=80,c=100时:
注意:黑色的数字只是表明尺寸,不用画出。
输入格式
第一行,3个整数a,b,c。 范围[10, 200]。
输出格式
画出3个水杯,颜色分别是1号、3号、4号,高度分别是a,b,c;用实心的部分表示水的高度;水杯之间距离是10。
输入/输出例子1
输入:
150 80 100
输出:
题目解答: