2020第一届大湾区信息学竞赛U12组参考答案

参考答案

一、选择

1 B
2 C
3 D
4 C
5 A
6 A
7 C
8 C
9 B
10 D

二、填空

  1. 24
  2. 49/825
  3. 32
  4. 3
  5. 3

三、阅读程序并填空

1

#include 
using namespace std;

int n, cnt;

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        int flag = 1;
        if(i % 3 == 0)
        {
            continue;
        }

        int x = i;
        while(x)
        {
            if(x % 10 == 3)
            {
                flag = 0;
                break;
            }

            x /= 10;
        }

        if(flag)
        {
            cnt++;
        }
    }

    cout << cnt << endl;

    return 0;
}

2

#include 
using namespace std;

int main()
{
    char num[50];
    int n;
    int cnt = 0;
    cin >> n;
    while(n > 0)
    {
        num[cnt] = n % 10 + '0';
        n = n / 10;
        cnt = cnt + 1;
    }
    num[cnt] = '\0';
    cout << num;

    return 0;
}

四、编程

1

#include 
using namespace std;

const int maxN = 1005;
int a[maxN];

int main()
{
    int n;
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }

    //分糖果的过程
    for(int i = 1; i <= n; i++)
    {
        int L = (1 == i) ? n : i - 1;
        a[L] += a[i] / 3;

        int R = (n == i) ? 1 : i + 1;
        a[R] += a[i] / 3;

        a[i] /= 3;
    }

    for(int i = 1; i <= n; i++)
    {
        cout << a[i] << ' ';
    }

    return 0;
}

2

#include 
using namespace std;

int main()
{
    string s[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};

    int n;
    cin >> n;
    while(n--)
    {
        int x;
        cin >> x;
        cout << s[x] << endl;
    }

    return 0;
}

第一届大湾区真题获取请扫码添加微信
2020第一届大湾区信息学竞赛U12组参考答案_第1张图片

你可能感兴趣的:(广东比赛)