选择题 共10道

01 02 03 04 05 06 07 08 09 10


判断题 共10道

11 12 13 14 15 16 17 18 19 20


编程题 共2道

21 22

E1014 CIE电子学会-202603-C++三级-模拟2-练习

选择题 共10道
01 以下关于C++函数的说法,不正确的?( ) 2分
登录后查看选项
02 已知函数声明为
void print(char c, int n);
以下调用方式正确的是?( )
2分
登录后查看选项
03 以下函数参数传递方式中,采用引用传递方式的是?( ) 2分
登录后查看选项
04 执行以下代码,输出结果是?( )
#include <iostream>
void plusOne(int x){
    x = x + 1;
}
int main(){
    int n = 5;
    plusOne(n);
    std::cout << n;
    return 0;
}
2分
登录后查看选项
05 以下递归函数用于计算斐波那契数列的第n项,横线处应填入的代码是?( )
int fib(int n){
    if(n <= 2) return 1;
    _________
}
2分
登录后查看选项
06 以下哪个函数可以复制C风格字符串(将源字符串内容复制到目标字符数组中)?( ) 2分
登录后查看选项
07 已知有
strcmp("apple", "Apple")
,该函数调用的返回值情况是?( )
2分
登录后查看选项
08 要找出所有三位数中各位数字的立方和等于该数本身(即水仙花数)的数,最适合使用的算法是?( ) 2分
登录后查看选项
09 阅读以下程序,当输入为1234时,程序的输出结果是?( )
#include <iostream>
int main(){
    int n, sum = 0;
    std::cin >> n;
    while(n > 0){
        sum += n % 10;
        n /= 10;
    }
    std::cout << sum;
    return 0;
}
2分
登录后查看选项
10 以下代码用于统计1~100中十位数字是2的数的个数,横线处应填入的代码是?( )
#include <iostream>
int main(){
    int cnt = 0;
    for(int i = 1; i <= 100; i++){
        if(_________)
            cnt++;
    }
    std::cout << cnt;
    return 0;
}
2分
登录后查看选项
判断题 共10道
11 在C++中,不包含任何参数的函数在定义时也必须写一对空括号,如void func() { } 2分
登录后查看选项
12 函数的参数如果是基本数据类型(如int),采用值传递方式时,对形参的修改会直接影响实参。 2分
登录后查看选项
13 递归函数可以没有递归出口,只要调用次数不多,程序就不会出错。 2分
登录后查看选项
14 库中的strcat函数可以将一个字符串连接到另一个字符串末尾,且会自动为目标字符串分配足够的空间。 2分
登录后查看选项
15 库中的pow(2, 3)的返回值是8.0,类型为double。 2分
登录后查看选项
16 使用模拟法解决“程序执行流程”问题时,可以模拟中央处理器执行指令的过程。 2分
登录后查看选项
17 枚举法在解决“百钱买百鸡”问题时,可以通过三重循环枚举所有可能的公鸡、母鸡和小鸡数量,并筛选出符合条件的解。 2分
登录后查看选项
18 函数的返回类型决定了函数执行后返回给调用者的值的类型,如果不需要返回值,则返回类型可以省略不写。 2分
登录后查看选项
19 当函数参数是数组时,可以通过在函数内使用sizeof运算符来准确获取数组的元素个数。 2分
登录后查看选项
20 所有递归算法都可以转换为等价的非递归(迭代)算法来实现。 2分
登录后查看选项
编程题 共2道
21

[函数模拟]字符价值计算

有一种游戏,每个小写字母对应一个分数,规则如下:

定义一个函数 int getScore(char ch),该函数接收一个小写字母,若字母为元音字母('a','e','i','o','u')则返回 2 分,若为辅音字母则返回 1 分,其余字符返回 0 分。

给定一个只包含小写字母的字符串,请利用该函数计算整个字符串的总得分。

输入格式:一行,一个长度不超过 100 的字符串,仅由小写字母组成。

输出格式:一个整数,表示字符串的总得分。

输入样例#1:

hello

输出样例#1:

6

样例解释:'h' 辅音得 1,'e' 元音得 2,'l' 辅音得 1,'l' 辅音得 1,'o' 元音得 2,总和 1+2+1+1+2=6。

30分
登录后作答
22

[枚举与函数]勾股三元组

如果三个正整数 a,b,c 满足 a≤b≤c 且 a2+b2=c2,则称 (a,b,c) 为一组勾股三元组。

给定一个正整数 n,请你输出所有满足 c≤n 的勾股三元组。

要求:输出顺序为:按 a 从小到大排序,在 a 相同时按 b 从小到大排序。

请编写一个函数 bool isPythagorean(int a, int b, int c) 来判断三个数是否构成勾股数,并在主函数中调用该函数完成枚举与输出。

输入格式:一个正整数 n(1 ≤ n ≤ 100)。

输出格式:每行输出一个三元组,三个数之间用一个空格隔开,按题目要求排序。如果没有满足条件的三元组,不输出任何内容。

输入样例#1:

10

输出样例#1:

3 4 5

6 8 10

输入样例#2:

5

输出样例#2:

3 4 5

30分
登录后作答