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

题目描述

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

111-1.png

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

int main(){
    p.fd(30).rt(90).fd(60).lt(90).fd(20);
    p.rt(90).fd(60).rt(90).fd(20).lt(90);
    p.fd(60).rt(90).fd(30).rt(90).fd(180);    
    return 0;
}

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

题目描述

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

输入格式

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

输出格式

相应的花朵图形。

输入/输出例子1

输入:

2 50 4

输出:

blob.png

输入/输出例子2

输入:

3 35 7

输出:

blob.png

输入/输出例子3

输入:

6 30 12

输出:

blob.png

int main(){
    int c,n,a;
    cin>>c>>a>>n;
    p.c(c);
    for(int i=0;i<n;i++) {
        for(int j=0;j<3;j++)
            p.fd(a).lt(120);
        p.fd(a).rt(360.0/n);
    }
    return 0;
}

 

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

题目描述

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

输入格式

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

输出格式

相应的拱桥图形。

输入/输出例子1

输入:

30 4

输出:

blob.png

输入/输出例子2

输入:

20 7

输出:

blob.png

输入/输出例子3

输入:

15 12

输出:

blob.png

 

int main(){
    int a,n;
    cin>>a>>n;
    p.rt(90);
    for(int i=1;i<=n;i++)
        p.fd(a).rt(90).fd(a).lt(90);
    p.rt(180).fd(a*n*2).rt(90);
    for(int i=1;i<=n;i++)
        p.fd(a).rt(90).fd(a).lt(90);    
    
    return 0;
}

114.第4题 轮廓(比赛模拟题)

题目描述

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

114-1.png

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

输入格式

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

输出格式

相应的展板轮廓。

输入/输出例子1

输入:

100 90 70 60 80 95 120 105 95 71

输出:

blob.png

输入/输出例子2

输入:

50 30 20 90 80 100 60 70 110 120

输出:

blob.png

int main(){
    int n,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;
}

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

题目描述

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

输入格式

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

输出格式

相应的同心圆图形。

输入/输出例子1

输入:

80 100 90 60 68 70 71 72 73 74

输出:

blob.png

输入/输出例子2

输入:

50 30 20 90 80 100 60 70 110 120 

输出:

blob.png

int main(){
    int a[10+1];
    for(int i=1;i<=10;i++)cin>>a[i];
    for(int i=1;i<=10;i++)p.oo(a[i],0);
    for(int i=1;i<=10;i++)p.o(a[i],1);
    return 0;
}

116.第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

输出:

blob.png

输入/输出例子2

输入:

2 10 15

输出:

blob.png

string s="13300303003";
int a[12],N,S,T;
int main(){
    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;
}

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐