‹ 上一题 下一题 ›

有关如下 C++ 代码描述,变量都是整型,错误的是(  )。

int n, limit, i;
cout << "请输入一个正整数: ";
cin >> n;
if (n <= 1)
    printf("%d非素数", n);
else if (n == 2)
    printf("2是素数");
else {
    limit = sqrt(n) + 1;
    for (i = 2; i < limit; i++)
        if (n % i == 0) {
            printf("%d非素数", n);
            break;
        }
    if (i >= limit)
        printf("%d是素数", n);
}
  • A. n <= 1 条件用于判断输入 0、1 以及负数时的情况,不能省略。
  • B. n == 2 条件及其相关代码省略,程序的输出结果没有区别。
  • C. break 语句不可以省略,否则非素数还将执行最后一行的语句。
  • D. limit = sqrt(n) + 1 语句中的 1 可以修改为其他大于等于 1 的正整数,执行结果不会有错误,但循环次数增多,效率有所影响。
未选择
输入
输出

            
答案