美文网首页
Goc比赛模拟1

Goc比赛模拟1

作者: 樱芷 | 来源:发表于2024-04-19 18:43 被阅读0次

第1题:领奖台(比赛模拟题)

题目描述

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

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

题目解答:

int main(){

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

    return 0;

}

第2题:花朵(比赛模拟题)

题目描述

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

输入格式

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

输出格式

相应的花朵图形。

输入/输出例子1

输入:

2 50 4

输出:

输入/输出例子2

输入:

3 35 7

输出:

输入/输出例子3

输入:

6 30 12

输出:

题目解答:

int main(){

    int a,b,c;

    cin>>a>>b>>c;

    p.c(a);

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

    {for(int j=0;j<3;j++)

        p.fd(b).lt(360.0/3);

    p.fd(b).rt(360.0/c);}

    return 0;

}

第3题:拱桥(比赛模拟题)

题目描述

小C的妹妹喜欢画画,特别喜欢画各种各样的河流,然后要求小C帮她架设一座桥。已知桥是一些边长是a的阶梯构成桥面,并且左边有n个台阶,右边也有n个台阶,具体形状参见输入输出样例。 为了能画出不同形状的桥,聪明的小C决定用GoC编写个画拱桥的程序,从键盘读入a和n,然后画出相应的桥。

输入格式

一行2个空格分隔开的正整数:分别表示台阶长度a和台阶个数n。

输出格式

相应的拱桥图形。

输入/输出例子1

输入:

30 4

输出:

输入/输出例子2

输入:

20 7

输出:

输入/输出例子3

输入:

15 12

输出:

题目解答:

int main(){

    int a,n;

    cin>>a>>n;

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

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

    p.rt(90);

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

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

    p.bk(2*a*n);

  return 0;

}

第4题:轮廓(比赛模拟题)

题目描述

学校准备在颁奖会把这次比赛的前10名的成绩用图形表示出来。小C记得去年是用一个直方图的形式表示的,就是以输入的次序把每个成绩的分数作为高,画一个宽度为20的矩形。 假如输入的10个成绩是:100 90 70 60 80 95 120 105 95 71 ,绘制的图形如下。

这个图形是做在一个展板上的,经过一年的风吹雨淋,展板上的线条都褪色了,只能看出展板的轮廓。请你使用GoC编程,画出展板的轮廓。具体形状参见输入输出样例。

输入格式

一行10个空格分隔开的正整数:分别表示10名同学的比赛成绩。

输出格式

相应的展板轮廓。

输入/输出例子1

输入:

100 90 70 60 80 95 120 105 95 71

输出:

输入/输出例子2

输入:

50 30 20 90 80 100 60 70 110 120

输出:

题目解答:

int main(){

  int a,d[12],n=10;

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

        cin>>d[i];

    p.fd(d[0]).rt(90).fd(20).rt(90);

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

        p.fd(d[i-1]-d[i]).lt(90).fd(20).rt(90);

              p.fd(d[n-1]).rt(90).fd(20*n);

    return 0;

}

第5题:同心圆(比赛模拟题)

题目描述

学校准备在颁奖会把这次比赛的前10名的成绩用崭新的形状表示出来,这个艰巨的任务交给了小C。为了和以往不同,小C决定用每个学生的成绩作为半径画同心圆来表示。这个创新的举动需要你使用GoC编程,在一个黑色实心圆背景下,用10个红色圆表示成绩。具体形状参见输入输出样例。

输入格式

一行10个空格分隔开的正整数:分别表示10名同学的比赛成绩。每个数范围[1,1000]。

输出格式

相应的同心圆图形。

输入/输出例子1

输入:

80 100 90 60 68 70 71 72 73 74

输出:

输入/输出例子2

输入:

50 30 20 90 80 100 60 70 110 120

输出:

题目解答:

int main(){

  int a[11];

    int b=0;

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

    { cin>>a[i];

    if(a[i]>b) b=a[i];

    }

    p.oo(b,0);

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

        p.o(a[i],1);

    return 0;

}

第6题:手机号码(比赛模拟题)

题目描述

 奶牛Bessie最近买了一台手机,它的手机号码是:13300303003,手机号码由11个数字组成。Bessie最近在上电脑课学了【复制】和【粘贴】功能,于是它打开word软件,把它的手机号码复制,然后粘贴了N次。 例如N=1时,是这样:13300303003 。 例如N=2时,是这样:1330030300313300303003。 例如N=3时,是这样:133003030031330030300313300303003。 如果N=4时,是这样:13300303003133003030031330030300313300303003。 现在给出了三个正整数:N,S,T。表示奶牛Bessie把它的手机号码复制粘贴了N次,然后奶牛要计算:第S个数字到第T个数字之间,有多少个数字3(包含第S个数字和第T个数字)?由于奶牛Bessie复制粘贴N次手机号码后已经眼花了,所以它希望你能写个程序来帮它计算,并用一个圆表示,你能做到吗?

输入格式

一行,三个正整数: N,S,T

【数据规模】

 对于50%的数据,  1<=N<=1000,  1 <= S < T <= 11×N

 对于100%的数据, 1<=N<=100000000,  1 <= S < T <= 11×N

输出格式

先计算出一个整数x,表示Bessie把手机号码复制粘贴N次后,第S个数字到第T个数字之间包含了多少个数字3(包含第S个数字和第T个数字)。 然后以x%15为颜色,20+x%199为半径,画一个实心圆。

输入/输出例子1

输入:

1 2 11

输出:

输入/输出例子2

输入:

2 10 15

输出:

题目解答:

int main(){

    string s="13300303003";

    int a[12],N,S,T;

    {a[0]=0;

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

            if(s[i-1]=='3')a[i]=a[i-1]+1;

        else a[i]=a[i-1];

        cin>>N>>S>>T;

        if(S>T){

            N=S;

            S=T;

            T=N;

        }

        S--;

      int ans=T/11*5+a[T%11];

      ans=ans-S/11*5-a[S%11];

        cout<<ans;

        p.oo(ans%199+20,ans%15);

    }

    return 0;

}

郑重宣明:以上原题目,来源于https://www.51goc.com/index/index.html,题目答案均是本人作答。仅用于学习研究,不涉及商业用途。如有侵权,请联系本人删除。

相关文章

网友评论

      本文标题:Goc比赛模拟1

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