2024年6月CCF—GESP(C++一级)编程能力等级认证试卷
一级
2024
2025-05-13 12:00:38
76次
一、单选题
下面C++代码用于判断N是否为质数(只能被1和它本身整除的正整数)。程序执行后,下面有关描述正确的是( )。
int N;
cout << "请输入整数:";
cin >> N;
bool Flag = false;
if (N >= 2){
Flag = true;
for (int i=2; i < N; i++)
if (N % i == 0){
Flag = false;
break;
}
}
if(Flag)
cout << "是质数";
else
cout << "不是质数"; | A. 如果输入负整数,可能输出“是质数” |
B. 如果输入2,将输出“不是质数”,因为此时循环不起作用 |
| C. 如果输入2,将输出“是质数”,即便此时循环体没有被执行 |
D. 如果将 if (N >= 2) 改为 if (N > 2) 将能正确判断N是否质数 |
【知识点】 CCF—GESP C++一级
下面的C++代码用于求1~N之间所有奇数之和,其中N为正整数,如果N为奇数,则求和时包括N。有关描述错误的是( )。
int N;
cout << "请输入正整数:";
cin >> N;
int i = 1, Sum = 0;
while (i <= N){
if (i % 2 == 1)
Sum += i;
i += 1;
}
cout << i << " " << Sum; | A. 执行代码时如果输入10,则最后一行输出将是 11 25 |
B. 执行代码时如果输入5,则最后一行输出将是 6 9 |
| C. 将 i += 1 移到 if (i % 2 == 1) 前一行,同样能实现题目要求 |
D. 删除 if (i % 2 == 1) ,并将 i += 1 改为 i += 2 ,同样可以实现题目要求 |
【知识点】 CCF—GESP C++一级
二、判断题
三、编程题
立方数
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨有一个正整数 n,他想知道n 是否是一个立方数。
一个正整数 n是立方数当且仅当存在一个正整数x 满足x×x×x=n。
输入格式
第一行包含一个正整数n。
输出格式
如果正整数n是一个立方数,输出Yes,否则输出No。
输入样例1
8
输出样例1
Yes
输入样例2
9
输出样例2
No
样例解释
对于样例1,存在正整数2使得8=2×2×2,因此8为立方数。
对于样例2,不存在满足条件的正整数,因此9不为立方数。
数据范围
对于全部数据,保证有1≤n≤1000。
【知识点】 CCF—GESP C++一级
休息时间
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨计划在某个时刻开始学习,并决定在学习k秒后开始休息。
小杨想知道自己开始休息的时刻是多少。
输入格式
前三行每行包含一个整数,分别表示小杨开始学习时刻的时h、分m、秒s(h,m,s 的值符合1≤h≤12,0≤m≤59,0≤s≤59)。
第四行包含一个整数k,表示小杨学习的总秒数(注:k的值符合1≤k≤3600)。
输出格式
输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。
输入样例
12 59 59 10
输出样例
13 0 9
样例解释
小杨在时刻 12:59:59 开始学习,学习 10 秒后开始休息,即在 13:0:9 时刻开始休息。
数据范围
对于全部数据,保证有1≤h≤12,0≤m≤59,0≤s≤59,1≤k≤3600。
【知识点】 CCF—GESP C++一级
