阅读程序(第一题):k 进制转换与数位和、逆序值
阅读下面程序,完成后面的判断题和单选题。判断题正确填 A,错误填 B。
#include <cstdio>
int main() {
int n, k;
scanf("%d%d", &n, &k);
int d[100], len = 0;
while (n > 0) {
d[len] = n % k;
++len;
n /= k;
}
int s = 0;
long long rev = 0;
for (int i = 0; i < len; ++i) {
s += d[i];
rev = rev * k + d[i];
}
printf("%d %lld\n", s, rev);
return 0;
} 子题 判断题
判断题:当输入为 "100 8" 时,输出的第一个数是 9。( )
子题 判断题
判断题:将第 7 行的 `while (n > 0)` 改为 `while (n > 1)` 后,当输入为 "100 8" 时,程序输出不变。( )
子题 判断题
判断题:当输入为 "6 2" 时,程序输出的两个数之和为 6。( )
子题 单选题
当输入为 "200 8" 时,输出为( )。
子题 单选题
将第 16 行的 `rev = rev * k + d[i];` 改为 `rev = rev * 10 + d[i];` 后,当输入为 "255 16" 时,输出的第二个数为( )。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析