测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看
B72

第14章基础知识练习(自测)

引入

章前总览 覆盖:枚举因数、奇数求和、完全平方 / 兄弟数、位增数取位。先作答再提交

怎么用:

  • 选择题 5 道。
  • 填空类题目先看循环上下界是否含两端。
  • 错题回到 B69–B71 复习。
第14章自测

每题选一个选项。

1. 求正整数所有因数的代码中,横线处应填( )。
cin >> n;
for (_____________)
    if (n % i == 0)
        cout << i << endl;
2. 下面代码求 1~N 内所有奇数之和。有关描述错误的是( )。
int i = 1, Sum = 0;
while (i <= N) {
    if (i % 2 == 1)
        Sum += i;
    i += 1;
}
cout << i << \" \" << Sum;
3. 判断 N 是否为完全平方数,横线处应填( )。
for (int i = 0; i <= N; i++)
    if (___________________)
        cout << N << \"是一个完全平方数\n\";
4. “兄弟数”指 N 能写成 X*(X+1)。下列填空中,有几个能完成功能?( )
i)N==i*(i+1)
ii)N==i*(i-1)
iii)N/(i+1)==i
iv)N/(i-1)==i
5. 判断位增数(从高位到个位逐渐增大)时,横线处应填( )。
cin >> N;
__________________;
while (N) {
    n1 = N % 10;
    if (n1 >= n2) {
        cout << 0;
        return 1;
    }
    n2 = n1, N /= 10;
}
cout << 1;