题型:单选题
小明和弟弟在玩一个拼数字游戏,游戏规则是:二人各写一个两位正整数 M 和 N ;然后将较大的数字放 在较小的前面,拼成一个4位数;将这个4位数除以3的余数添加到4位数的后面,得到一个5位数;最后判断这个5位 数能否被14整除。下面的C++代码用于判断 M 和 N 是否符合全部要求,如果符合则输出 Y 否则输出 N 。例如输 入 85 和 79 ,可以拼出 85792 ,恰好是14的倍数,则输出 Y 。关于下面代码描述正确的是( )。
int M, N, Q; cin >> M >> N; if(M > N) // L1 Q = M*100+N; else Q = N*100+M; if((Q*10+Q%3) % 14 == 0) // L2 cout << "Y"; else cout << "N";
| A. 代码段不能完成正确判断 |
B. L1行代码中条件应该改为 M <= N |
| C. L2行代码应该改为 if ((Q*10+Q/3) % 14 == 0) |
D. 代码段可以不使用变量 Q ,而是在区分 M 和 N 大小后分别直接用它们来判断 |
更新时间:2026-09-29 11:02:36
|
【知识点】
CCF—GESP C++一级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
下面C++代码执行后的输出是( )。
int i, tnt = 1;
for (i = 0; i < 5; i++)
tnt *= i;
printf("%2d%2d\n", tnt, i);| A. 24 5 |
B. 10 5 |
| C. 0 4 |
D. 0 5 |
2026-09-29
单选题
下面C++代码的相关说法,正确的是( )。
int i;
for (i = 1; i < 10; i++){
if (i % 2 == 0){
continue; // L1
}
else
cout << i << "#";
}
cout << i << "END";| A. 上述代码执行后,其输出是 1#3#5#7#9#9END |
B. 删除 else 后的执行效果与当前代码相同 |
| C. 删除 else 且将 cout << i << "#" 移入L1行下面,则执行效果与当前代码相同 |
D. 在 cout << i << "END" 前增加判断 if(i > 10) ,其执行效果与当前代码相同 |
2026-09-29
