You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C++ switch函数判断10个输入整数的奇偶性(含代码片段)

补全C++代码实现奇偶性判断与输入打印功能

没问题,我来帮你补全这段代码,实现打印所有用户输入数字并判断奇偶性的功能。首先修正原代码的小问题,再完成核心逻辑:

#include <iostream>
using namespace std;
const int LIMIT = 10;

int main () {
    // 声明并初始化变量:计数用int更合适,统计变量初始化为0
    int counter;
    int number;
    int zeros = 0;
    int odds = 0;
    int evens = 0;

    cout << "Please enter " << LIMIT << " integers, positive, negative, or zeros." << endl;
    cout << "The numbers you entered are:" << endl;

    // 循环读取LIMIT个数字
    for (counter = 0; counter < LIMIT; counter++) {
        cin >> number;
        // 打印当前输入的数字
        cout << number << " ";

        // 用switch判断奇偶性
        switch (number % 2) {
            case 0:
                // 能被2整除,包括0
                if (number == 0) {
                    zeros++;
                } else {
                    evens++;
                }
                break;
            case 1:
            case -1:
                // 正数或负数的奇数
                odds++;
                break;
            default:
                // 理论上不会走到这里,因为输入是整数
                break;
        }
    }

    // 输出统计结果
    cout << "\n\n统计结果:" << endl;
    cout << "偶数的数量:" << evens << endl;
    cout << "奇数的数量:" << odds << endl;
    cout << "零的数量:" << zeros << endl;

    return 0;
}

关键细节解释:

  • 变量初始化:原代码中的统计变量zeros、odds、evens未初始化,会导致随机的统计结果,所以必须初始化为0;counter作为循环计数器,用int类型比float更贴合需求。
  • 输入打印:每次读取用户输入后立刻打印,确保所有输入的数字都被输出。
  • switch的奇偶判断:利用整数取模的特性,偶数(包括0)取模2结果为0;奇数的话,正数取模2得1,负数取模2得-1,所以用case 1和case -1同时处理两种奇数情况。
  • 零的单独统计:如果需要把0和普通偶数区分开,就像代码里那样单独判断,要是不需要合并统计,直接把0归到偶数里即可。

内容的提问来源于stack exchange,提问作者CoffeeWaterController

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:20:15