美文网首页
Goc比赛模拟2

Goc比赛模拟2

作者: 樱芷 | 来源:发表于2024-05-02 10:16 被阅读0次

    141.GoC测试模拟题(2017.3.23)第1题:领奖台

    题目描述

    小C同学在学校GoC编程比赛中获得了一等奖,他希望在领奖会上能站在一个漂亮的领奖台上。设计的领奖台如下图,请你帮忙使用GoC编程绘制。

    说明: 上图中红色数字是标明尺寸的,不需要画出。 总宽180,上面3段每个宽60。 总高90,每个台阶高30。

    输入格式

    空。

    输出格式

    相应的领奖台图形。

    题目解答:

    int main(){

      p.bk(90).lt(90).fd(180).rt(90);

        for(int i=0;i<3;i++)

            p.fd(30).rt(90).fd(60).lt(90);

        return 0;

    }

    142.GoC测试模拟题(2017.3.20)第2题:花朵

    题目描述

    看到你绘制的漂亮领奖台,小C觉得应该再摆放些有圆形花瓣的花朵更满意。小C设计了几种不同颜色、花瓣的半径和花瓣个数的“花朵”(见输入输出样例),但不确定哪种好看些。 为了研究什么颜色、花瓣半径、花瓣个数的花更好看,下C需要编制一个通用的程序:键盘输入颜色、半径和个数,就可以画出相应的花朵。 注意:每个花瓣的圆心到中点的距离是半径的3倍。

    输入格式

    一行3个空格分隔开的正整数:分别表示颜色、半径和个数。

    输出格式

    相应的花朵图形。

    输入/输出例子1

    输入:1 30 5

    输出:

    输入:3 30 8

    输出:

    输入/输出例子3

    输入:7 20 12

    输出:

    题目解答:

    int main(){

        int c,r,n;

        cin>>c>>r>>n;

        p.c(c);

        for(int i;i<n;i++)

            p.fd(3*r).oo(r,c).bk(3*r).rt(360.0/n);

        return 0;

    }

    143.GoC测试模拟题(2017.3.20)第3题:拱桥

    题目描述

    小C的妹妹喜欢玩积木,现在有N根木头,宽度都是10,高度有各种各样的。比如,N=7,高度分别是10,20,40,20,30,30,40。如下图:

    小C的妹妹的妹妹想用这些积木拼出一个拱桥,拱桥需要先不断上升再不断下降。上升时每次增加高度10,下降时每次减低高度10,并且上升和下降的个数要一样多(这样图形就左右对称,比较好看)。拼出的桥越长越好。比如使用上面提到的7个木头,可以拼出下面的拱桥:

    这个问题比较难,她要求小C帮她架设一座最长的拱桥。 为了能画出不同形状的桥,聪明的小C决定用GoC编写个画拱桥的程序,从键盘读入N和每个木头的高度,然后画出相应的最长拱桥。

    输入格式

    第一行1正整数N:表示木头的个数,范围在[1..20]。 第二行,N个正整数(都是10的倍数),表示每个木头的长度,范围在[10..100]。

    输出格式

    相应的最长拱桥图形(注意,桥的中间2个木头高度一定相同)。 如果有多种答案,画出高度低的拱桥。

    输入/输出例子1

    输入:

    7

    30 40 40 50 30 40 40 

    输出:

    输入/输出例子2

    输入:

    7

    30 40 60 50 30 50 60

    输出:

    输入/输出例子3

    输入:

    14

    20 30 20 40  60 40 30 50 90 70 80 70 90 80

    输出:

    题目解答:

    int main(){

        int n,x,a[110];

        for(int i=0;i<110;i++)

            a[i]=0;

        cin>>n;

        for(int i=0;i<n;i++)

        {cin>>x;

        a[x/10]++;

        }

        int maxi,maxlen;

        maxlen=0;

        for(int i=1;i<=10;i++)

            if(a[i]>1)

              {int len=1;

              for(int j=i+1;j<=10;j++)

                if(a[j]>1) len++;

              else break;

              if(len>maxlen)

              {

                  maxlen=len;

                  maxi=i;

                }

              }

              p.hide();

              for(int i=0;i<maxlen;i++){

                  int h=(i+maxi)*10;

                  p.fd(h).rt(90).fd(10).rt(90).fd(h);

                  p.rt(90).fd(10).bk(10).rt(90);

              }

              for(int i=maxlen-1;i>=0;i--){

                  int h=(i+maxi)*10;

                  p.fd(h).rt(90).fd(10).rt(90).fd(h);

                  p.rt(90).fd(10).bk(10).rt(90);

              }

        return 0;

    }

    144.GoC测试模拟题(2017.3.23)第4题:棋盘

    题目描述

    小C同学喜欢下五子棋,在goc课上想画一个N*N的棋盘,每个小正方形的边长是M。例如:N=3,M=50时棋盘如下图:

    输入格式

    一行2个空格分隔开的正整数:分别表示棋盘的尺寸、小方格的边长。 N范围[1,10]。M范围[1,100]

    输出格式

    相应的棋盘。

    输入/输出例子1

    输入:

    4 30

    输出:

    输入/输出例子2

    输入:

    6 20

    输出:

    int main(){

        int n,a;

        cin>>n>>a;

        for(int i=0;i<n;i++)

        {

            for(int j=0;j<n;j++)

            { p.fd(a).rt(90).fd(a).rt(90).fd(a).rt(90);

            p.rt(90);

        }

            p.lt(90).fd(a*n).rt(90);

            p.up().bk(a).down().hide();

        }

        return 0;

    }

    相关文章

      网友评论

          本文标题:Goc比赛模拟2

          本文链接:https://www.haomeiwen.com/subject/pusqfjtx.html