int M = 0, N = 0;cin >> M;cin >> N;if (N > M) cout << (N - M);else cout << (M - N);
A.如果输⼊⼀个正数和⼀个负数,其输出结果肯定是⼤于0B.不管是负整数、正整数亦或0,其结果肯定是⼤于等于0C.如果 N 和 M 是相等的整数,将不会有输出D.如果 N 和 M 输⼊带有⼩数点的数,将按整数部分计算✅ 正确答案B💡 解析代码逻辑等价于求绝对值`|M-N|`。无论输入正数、负数还是零,结果必然大于等于零。相等时输出0而非无输出。输入小数会导致读取异常,结果不可控。8for循环与乘零选择题下面C++代码执⾏后的输出是( )。C++
int i, tnt = 1;for (i = 0; i < 5; i++) tnt *= i;printf("%2d%2d\n", tnt, i);
int N, tnt, i;cin >> N;tnt = 0;for (i = 1; i < N + 1; i++) if (i % 3 == 1) tnt += -i; else tnt += i;
A.L1⾏中 i < N + 1 应该修为 i < N 才会符合预期B.L2⾏中 i % 3 == 1 应修改为 i % 3 == 0 才会符合预期C.L2⾏中 i % 3 == 1 修改为 i % 3 与当前程序效果相同D.当前代码能实现题⽬所描述计算⽬标✅ 正确答案D💡 解析i<n+1即i≤n,可遍历到第n项。i%3==1对应每组第一个数为负的规则。单独使用i%3结果非零即真,与==1含义不同。当前代码符合题目要求。10continue语句与else选择题下面C++代码的相关说法,正确的是( )。C++
int i;for (i = 1; i < 10; i++){ if (i % 2 == 0){ continue; } else cout << i << "#";}cout << i << "END";
A.选项A:tnt += N / 10; N /= 10B.选项B:tnt += N % 10; N /= 10C.选项C:tnt += N / 10; N %= 10D.选项D:tnt = tnt + N % 10; N %= 10✅ 正确答案B💡 解析提取个位数字使用N%10,累加后通过N/=10删除已处理位。其他选项提取的是高位或无法正确删除位数。12统计奇数位个数选择题小明想要快速知道任给一个正整数中有多少个奇数位(数位值是奇数),下面的C++代码是其实现,横线处应该填入的代码是( )。C++
int N;cin >> N;int odd_count = 0;while (N != 0){ if (_____________) odd_count += 1; N = (N - N % 10) / 10;}
using namespace std;int main(){ int h1, h2, h3, h4; cin >> h1 >> h2 >> h3 >> h4; int ans = h2; int mind = abs(h1 - h2); int d = abs(h1 - h3); if (d < mind || (d == mind && h3 < ans)){ ans = h3; mind = d; } d = abs(h1 - h4); if (d < mind || (d == mind && h4 < ans)){ ans = h4; } cout << ans << endl; return 0;}
using namespace std;int main() { int a, b = 0, t = 1; cin >> a; while(a){ int digit = a % 10; if(digit == 4) digit = 8; b += t * digit; a /= 10; t *= 10; } cout << b; return 0;}