2024年9月CCF—GESP(C++一级)编程能力等级认证试卷
一级
2024
2025-05-16 14:53:15
99次
一、单选题
如果一个正整数N能够表示为X*(X+1)的形式,这里称它是一个“兄弟数”。例如,输入6,则输出“6是一个兄弟数”。下面C++代码用来判断N是否为一个“兄弟数”,在横线处应填入的代码可从i)-iv)中选择,则有几个能完成功能?( )。
int N; cin >> N; for(int i = 0; i <= N; i++) if(___________________) cout << N << "是一个兄弟数\n"; i) N==i*(i+1) ii) N==i*(i-1) iii) N/(i+1)==i iv) N/(i-1)==i
| A. 1 |
B. 2 |
| C. 3 |
D. 4 |
【知识点】 CCF—GESP C++一级
下面的C++代码用于求连续输入的若干正五位数的百位数之和。例如输入 32488 25731 41232 0 ,则输出 3个正五位数的百位数之和为13 。有关描述错误的是( )。
int M, Sum=0, rc=0;
cout << "请输入正整数:";
cin >> M;
while (M){
M = (M / 100 % 10); // L6
Sum += M;
rc++;
cin >> M;
}
cout << rc << "个正五位数的百位数之和为" << Sum; | A. 执行代码时如果输入 23221 23453 12345 11111 0 ,则最后一行Sum的值是 10 |
B. 执行代码时如果输入 2322 2345 1234 1111 0 ,程序也能运行 |
| C. 将代码标记为 L6 那行改为 M = (M % 1000 / 100); ,同样能实现题目要求 |
D. 将代码标记为 L6 那行改为 M = (M % 100 / 10); ,同样能实现题目要求 |
【知识点】 CCF—GESP C++一级
下面C++代码拟用于计算整数N的位数,比如对 123 则输出 123是3位整数 ,但代码中可能存在bug。下面有关描述正确的是( )。
int N, N0, rc=0;
cout << "请输入整数:";
cin >> N;
N0 = N;
while (N){
rc++;
N /= 10;
}
printf("%d是%d位整数\n", N, rc); // L11 | A. 变量N0占用额外空间,可以去掉 |
B. 代码对所有整数都能计算出正确位数 |
| C. L11标记的代码行简单修改后可以对正整数给出正确输出 |
D. L11标记的代码行的输出格式有误 |
【知识点】 CCF—GESP C++一级
二、判断题
三、编程题
小杨购物
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨有 n 元钱用于购物。商品 A 的单价是 a 元,商品 B BB 的单价是 b 元。小杨想购买 相同数量 的商品 A 和商品 B。
请你编写程序帮小杨计算出他最多能够购买多少个商品 A 和商品 B。
输入格式
第一行包含一个正整数 n,代表小杨用于购物的钱的金额。
第二行包含一个正整数 a,代表商品 A 的单价。
第三行包含一个正整数 b,代表商品 B 的单价。
输出格式
输出一行,包含一个整数,代表小杨最多能够购买的商品 A 和商品 B 的数量。
输入样例
12 1 2
输出样例
4
对于样例1,由于需要购买相同数量的两种商品,因此小杨最多能够购买 4 件商品 A 和 4 件商品 B,共花费4×1+4×2=12 元。因此,样例1的答案为 4 44。
输入样例
13 1 2
输出样例
4
对于样例2,由于需要购买相同数量的两种商品,因此小杨最多能够购买 4 件商品 A 和 4 件商品 B ,共花费 4×1+4×2=12 元。如果小杨想购买 5 件商品 A 和 5 件商品 B,则需花费 5×1+5×2=15 元,超过了小杨的预算 13 元。因此,样例2的答案为 4。
对于全部数据,保证有1≤n,a,b≤105。
【知识点】 CCF—GESP C++一级
美丽数字
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨有 n 个正整数,他认为一个正整数是美丽数字当且仅当该正整数是 9 的倍数但不是 8 的倍数。
小杨想请你编写一个程序计算 n 个正整数中美丽数字的数量。
输入格式
第一行包含一个正整数n,代表正整数个数。
第二行包含 n 个正整数 a1,a2,a3,...,an。
输出格式
输出一个整数,代表其中美丽数字的数量。
输入样例
3 1 9 72
输出样例
1
对于样例:
1 既不是 9 的倍数,也不是 8 的倍数;
9 是 9 的倍数,不是 8 的倍数;
72 既是 9 的倍数,也是 8 的倍数;
因此答案为 1。
对于全部数据,保证有 1≤n≤105,1≤ai≤105。
【知识点】 CCF—GESP C++一级
