试卷总分:100分


选择题 10题 20分

01 02 03 04 05 06 07 08 09 10


判断题 10题 20分

11 12 13 14 15 16 17 18 19 20


编程题 2题 60分

21 22

E893 电子学会青少年软件编程等级考试-C++ -CIE-202603-C++三级-真题-考试

选择题 共10道

01 以下关于C++函数的说法,正确的?( ) 2分
登录后查看选项
02 函数定义为int func(int a, int b),以下调用方式正确的?( ) 2分
登录后查看选项
03 以下函数,采用值传递方式的?( ) 2分
登录后查看选项
04 执行以下代码,输出结果?( )
#include <iostream>
void func(int x){
    x = 100;
}
int main(){
    int a = 10;
    func(a);
    std::cout << a;
    return 0;
}
2分
登录后查看选项
05 以下递归函数用于计算n的阶乘,横线处应填入的代码?( )
int fact(int n){
    if(n <= 1) return 1;
    _________
}
2分
登录后查看选项
06 以下哪个函数可以获取C风格字符串的长度?( ) 2分
登录后查看选项
07 执行strcmp("apple", "banana"),返回值的情况?( ) 2分
登录后查看选项
08 要找出1000以内所有不能被7整除且个位数位不为7的数,最适合使用的算法?( ) 2分
登录后查看选项
09 阅读以下程序,输入整数60时,程序的输出结果?( )
#include<iostream>
int main()
{
    int n;
    std::cin >> n;
    for (int p = 2; p*p <= n; ++p)
    {
        while (n % p == 0) 
        {
            n = n / p;
            std::cout << p << " ";
        }
    }
    if (n > 1)       
        std::cout << n;
}
2分
登录后查看选项
10 以下代码用于统计1~100中,个位数字是3的数的个数,横线处应填入的代码?( )
#include <iostream>
int main(){
    int cnt = 0;
    for(int i=1;i<=100;i++){
        if(_________)
            cnt++;
    }
    std::cout << cnt;
}
2分
登录后查看选项

判断题 共10道

11 函数的返回值类型为void时,函数内不能使用return语句。( ) 2分
登录后查看选项
12 C++中,函数支持重载,即同名函数可以有不同的参数列表。( ) 2分
登录后查看选项
13 引用传递方式下,函数内对形参的修改会影响到实参。( ) 2分
登录后查看选项
14 递归函数必须有明确的终止条件,否则会出现无限递归,导致栈溢出。( ) 2分
登录后查看选项
15 递归算法的执行效率一定高于非递归算法。( ) 2分
登录后查看选项
16 strcpy(a, b)会将字符串b的内容复制到字符串a中,无需考虑a的空间大小。( ) 2分
登录后查看选项
17 C风格字符串以`\0`作为结束标志。( ) 2分
登录后查看选项
18 枚举法的核心是遍历所有可能的情况,逐一验证是否符合条件。( ) 2分
登录后查看选项
19 枚举法的时间复杂度通常很低,适用于所有数据范围的问题。( ) 2分
登录后查看选项
20 模拟法是通过代码模拟问题的实际执行过程,从而得到结果。( ) 2分
登录后查看选项

编程题 共2道

21

[电子学会202603三级]知识竞赛


在一场知识竞赛中,选手答对一题得 分,答错不得分且要倒扣 分,但扣分不能让分数小于 。 给定一个由 Y 及 N 构成的字符序列,答对记为 Y,答错记为 N。 选手一开始从 分开始,请输出选手最后的得分。

输入格式

单个字符序列:保证仅由字母 Y 及 N 组成。

输出格式

单个整数,表示最终得分。

输入样例#1
YNNYYY
输出样例#1
3
提示

设 表示字符序列的长度,。

30分

C0402
登录后作答
22

[电子学会202603三级]上升三元组


当 时,称 为上升三元组。 给定一个整数 ,请输出所有三数之和等于 的上升三元组。 若有多个三元组满足条件,则首先输出第一项较小的三元组,若第一项相等,则先输出第二项较小的三元组。

输入格式

单个整数表示

输出格式

若干行,每行三个自然数,中间用一个空格分开

输入样例#1
2
输出样例#1
0 0 2
0 1 1
输入样例#2
5
输出样例#2
0 0 5
0 1 4
0 2 3
1 1 3
1 2 2
30分

C0403
登录后作答