GOC题解:2018年南海区小学乙组比赛 第2关 您所在的位置:网站首页 刚才画的图片大全 GOC题解:2018年南海区小学乙组比赛 第2关

GOC题解:2018年南海区小学乙组比赛 第2关

2024-06-18 12:43| 来源: 网络整理| 查看: 265

第2关 - 2018年南海区小学乙组比赛

image.png

395.1、禁止标记(stop) 2018NHOI小乙 题目描述

学校举行春游活动,有些地点是禁止学生活动的,老师知道小C是goc编程高手,想让小C用goc软件画一个禁止标记,如下左图所示:

image.png

图形是由红色的线粗为10线画出来的,圆的半径为100, 2条直径相互垂直并且左右对称。

题解

本题没有要求使用循环,可以使用四条线重复,也可以两条直径为 200 的重复都可以完成。

int main(){ p.c(1).size(10).o(100); p.rt(45).fd(100).bk(100).rt(45); p.rt(45).fd(100).bk(100).rt(45); p.rt(45).fd(100).bk(100).rt(45); p.rt(45).fd(100).bk(100).rt(45); return 0; } 396.2、三角形(traingle.cpp)2018NHOI小乙 题目描述

在去郊野的路上,小C的同桌小P拿着一个风车玩具迎风跑动,彩色的风车欢快地转动着。小C觉得很漂亮,决定用 goc软件快速的画出来。如下左图所示:

image.png

图形每条边长均是100,颜色编号分别是1、2、3。

题解

方法一:双循环

int main(){ for(int i = 1;i n; // 绘制全部山峰 for(int i = 1;i> m; p.moveTo(i*20,m/2.0).r(20,m); arr[i] = m; } // 排除首尾,画山峰 for(int i = 2; i arr[i+1]){ p.moveTo(i*20,m/2.0).rr(20,m); } } 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时:

image.png

注意:黑色的数字只是表明尺寸,不用画出。

输入格式 第一行,3个整数a,b,c。 范围[10, 200]。

输出格式 画出3个水杯,颜色分别是1号、3号、4号,高度分别是a,b,c;用实心的部分表示水的高度;水杯之间距离是10。

输入/输出例子1

输入:

150 80 100

输出:

image.png

题解

本题重点要考虑每个杯子是否 满杯。

int main(){ cinWin(); int a,b,c,tmp=0; cin >> a >> b >> c; p.up(); // 画 A 杯 p.moveTo(0,a/2.0).r(50,a,1); tmp = a -b -c; if(tmp >= 0){ p.moveTo(0, tmp / 2.0).rr(50,tmp,1); } // 画 B 杯 p.moveTo(60 ,b/2.0).r(50,b,3); if(a >= b){ p.moveTo( 60, b / 2.0).rr(50,b,3); }else{ p.moveTo( 60, a / 2.0).rr(50,a,3); } // 画 c 杯 p.moveTo( 120 ,c/2.0).r(50,c,4); tmp = a -b; if(tmp >= c){ p.moveTo(120, c / 2.0).rr(50,c,4); }else if(tmp > 0){ p.moveTo(120, tmp / 2.0).rr(50,tmp,4); } return 0; } 400.6、坐船(board)2018NHOI小乙 题目描述

丰盛的午餐过后,大家准备前往湖心岛游玩。湖边码头上有10条相同型号的小船,每条小船最大承载重量是100;并且每只船上只有2个座位,也就是说一条小船最多能坐2个同学。

运送人的小船用一个矩形加1个或2个圆表示,圆的半径为15。

image.png

小C的同伴有N个,他们的体重不一定相同,现在想知道一次运送最多能运多少人?需要最少多少只船?

请把运送人的小船从左向右画出,先画运送一个人的小船,再画运送二个人的小船。

输入格式 第1行:一个整数N,表示人数。范围是[1,20]。

第2行:N个整数,每个整数范围是[10,200]。

输出格式 相应的要求图形。矩形个数就是小船的个数,圆个数就是人的个数。

输入/输出例子1

输入:

6

30 80 40 50 70 110

输出:

image.png

题解 int arr[25]; int main(){ cinWin(); int n,x,idx=0; cin >> n; // 过滤无效数据,并存储 从1开始 while(n--){ cin >> x; if(x arr[j-1]){ int tmp = arr[j]; arr[j] = arr[j-1]; arr[j-1] = tmp; } } } //测试排序结果 //for(int i = 1; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有