2024年6月CCF—GESP(C++二级)编程能力等级认证试卷
二级
2024
2025-05-14 14:58:26
79次
一、单选题
在下面的C++代码中,N必须是小于10大于1的整数,M为正整数(大于0)。如果M被N整除则M为幸运数,如果M中含有N且能被N整除,则为超级幸运数,否则不是幸运数。程序用于判断M是否为幸运数或超级幸运数或非幸运数。阅读下面代码,有关说法正确的是( )。
int N, M;
cout << "请输入幸运数字:";
cin >> N;
cout << "请输入正整数:";
cin >> M;
bool Lucky;
if (M % N == 0)
Lucky = true;
else
Lucky = false;
while (M){
if (M % 10 == N && Lucky){
printf("%d是%d的超级幸运数!", M, N);
break;
}
M /= 10;
}
if (M == 0)
if (Lucky)
printf("%d是%d的幸运数!", M, N);
else
printf("%d非%d的幸运数!", M, N); | A. 如果N输入3,M输入36则将输出:36是3的超级幸运数! |
B. 如果N输入7,M输入21则将输出:21是7的幸运数! |
| C. 如果N输入8,M输入36则将输出:36非8的超级幸运数! |
D. 如果N输入3,M输入63则将输出:63是3的超级幸运数! |
【知识点】 CCF—GESP C++二级
某货币由5元,2元和1元组成。输入金额(假设为正整数),计算出最少数量。为实现其功能,横线处应填入代码是( )。
int N;
cin >>N;
int M5,M2,M1;
M5 = N / 5;
M2 = ______________;
M1 = ______________;
printf("5*%d+2*%d+1*%d", M5, M2, M1); | A. 第1横线处应填入:N / 2 第2横线处应填入:N - M5 - M2 |
B. 第1横线处应填入:(N - M5 * 5) / 2 第2横线处应填入:N - M5 * 5 - M2 * 2 |
| C. 第1横线处应填入:N - M5 * 5 / 2 第2横线处应填入:N - M5 * 5 - M2 * 2 |
D. 第1横线处应填入:(N - M5 * 5) / 2 第2横线处应填入:N - M5 - M2 |
【知识点】 CCF—GESP C++二级
执行下面的C++代码,有关说法正确的是( )【质数是指仅能被1和它本身整除的正整数】。
int N;
cin >> N;
bool Flag = true;
for ( int i = 2; i < N; i++){
if (i * i > N)
break;
if (N % i == 0){
Flag = false;
break;
}
}
if (Flag)
cout << N << "是质数" << endl;
else
cout << N << "不是质数" << endl; | A. 如果输入正整数,上面代码能正确判断N是否为质数 |
B. 如果输入整数,上面代码能正确判断N是否为质数 |
| C. 如果输入大于等于0的整数,上面代码能正确判断N是否质数 |
D. 如将 Flag = true 修改为 Flag = N>=2? true:false 则能判断所有整数包括负整数、0、正整数是否为质数 |
【知识点】 CCF—GESP C++二级
下面C++代码用于实现如下图所示的效果,其有关说法正确的是( )。

for (int i = 1; i < 6; i++){ // L1
for (int j = 1; j < i+1; j++) //L2
cout << i*j << " ";
cout << endl;
} | A. 当前代码能实现预期效果,无需调整代码 |
B. 如果 cout << endl; 移到循环L2内部,则可实现预期效果 |
| C. 如果 cout << endl; 移到循环L1外部,则可实现预期效果 |
D. 删除 cout << endl; 行,则可实现预期效果 |
【知识点】 CCF—GESP C++二级
二、判断题
三、编程题
平方之和
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨有n个正整数a1,a2,...,an,他想知道对于所有的i(1≤i≤n),是否存在两个正整数x 和y满足x×x+y×y=ai。
输入格式
第一行包含一个正整数n,代表正整数数量。
之后n行,每行包含一个正整数,代表ai。
输出格式
对于每个正整数ai,如果存在两个正整数x和y满足x×x+y×y=ai,输出 Yes,否则输出 No。
输入样例
2 5 4
输出样例
Yes No
样例解释
对于第一个正整数,存在1×1+2×2=5,因此答案为 Yes。
数据范围
对于全部数据,保证有1≤n≤10,1≤ai≤106。
【知识点】 CCF—GESP C++二级

