[C/C++入门][for]22、输出奇偶数之和

复习一下我们前面如何判断奇数

判断一个整数是奇数还是偶数,最常用的方法是利用模运算(%)。模运算符返回除法的余数。对于任何整数n,当你用n % 2n模2)来计算时,如果结果是0,那么n就是偶数;如果结果是1,那么n就是奇数。这是因为所有的偶数都可以被2整除,而奇数则不能。

原理详解:

  1. 模运算a % b表示a除以b的余数。例如,5 % 2等于1,因为5除以2的商是2,余数是1。

  2. 偶数的性质 :任何偶数都可以表示为2的倍数,即存在某个整数k使得n = 2k。因此,当n是偶数时,n % 2的结果将是0,因为n能够被2完全整除。

  3. 奇数的性质 :任何奇数可以表示为n = 2k + 1的形式,其中k是某个整数。这意味着当n是奇数时,n % 2的结果将是1,因为n除以2后会有一个余数1。

cpp 复制代码
#include <iostream>
using namespace std;

bool isEven(int n) {
    return n % 2 == 0; // 如果n模2等于0,那么n是偶数
}

bool isOdd(int n) {
    return n % 2 != 0; // 如果n模2不等于0,那么n是奇数
}

int main() {
    int number = 15;
    
    if (isEven(number)) {
        cout << number << " 是偶数。" << endl;
    } else {
        cout << number << " 是奇数。" << endl;
    }

    return 0;
}

要输出1到100内所有奇数和偶数的和,我们可以通过两个for循环分别计算奇数和与偶数和,或者更高效地,在一个循环中同时处理奇数和偶数。

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int oddSum = 0; // 用于存储奇数的和
    int evenSum = 0; // 用于存储偶数的和

    for (int i = 1; i <= 100; ++i) {
        if (i % 2 == 0) { // 如果i是偶数
            evenSum += i; // 将i加到evenSum上
        } else { // 如果i是奇数
            oddSum += i; // 将i加到oddSum上
        }
    }

    cout << "1到100内所有奇数的和为: " << oddSum << endl;
    cout << "1到100内所有偶数的和为: " << evenSum << endl;

    return 0;
}

这段代码首先初始化了两个整型变量oddSumevenSum来分别存储奇数和偶数的和。

然后通过一个for循环遍历1到100的每个数。

在循环体内,使用if语句检查当前数i是否为偶数(即i % 2 == 0)。如果是偶数,则将其加到evenSum;否则,将其加到oddSum

最后,打印出奇数和与偶数和的结果。

有问题我们评论区讨论一下吧!

相关推荐
superman超哥7 分钟前
错误处理与验证:Serde 中的类型安全与数据完整性
开发语言·rust·编程语言·rust编程·rust错误处理与验证·rust serde
夔曦11 分钟前
【python】月报考勤工时计算
开发语言·python
fl17683112 分钟前
基于python实现PDF批量加水印工具
开发语言·python·pdf
Eugene__Chen24 分钟前
Java的SPI机制(曼波版)
java·开发语言·python
cici1587432 分钟前
基于LSTM算法的MATLAB短期风速预测实现
开发语言·matlab
Ulyanov1 小时前
Impress.js 3D立方体旋转个人年终总结设计与实现
开发语言·前端·javascript·3d·gui开发
jllllyuz1 小时前
室外可见光通信信道建模与MATLAB实现(直射链路与反射链路)
开发语言·matlab
榴莲不好吃1 小时前
前端js图片压缩
开发语言·前端·javascript
散峰而望1 小时前
【数据结构】假如数据排排坐:顺序表的秩序世界
java·c语言·开发语言·数据结构·c++·算法·github
superman超哥1 小时前
自定义序列化逻辑:掌控数据编码的每一个细节
开发语言·rust·编程语言·rust自定义序列化·rust数据编码