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

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

判断一个整数是奇数还是偶数,最常用的方法是利用模运算(%)。模运算符返回除法的余数。对于任何整数n,当你用n % 2(n模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;
}

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

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

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

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

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

相关推荐
Funlang1 小时前
给机器写的 JavaScript 造个笼子
开发语言·javascript·ecmascript
普通人61 小时前
PHP文件读写完全指南
开发语言·php·1024程序员节
坤坤子吖2 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
一晌小贪欢3 小时前
Python基础:第 09 篇 · while 循环:重复直到不满足
开发语言·c++·python·数据可视化·面向对象·python办公
xiaoye-duck3 小时前
《C++ 项目:手写大模型接入 SDK》LLMManager架构设计与实现
开发语言·网络·c++·语言模型
一条大祥脚4 小时前
CuTe 与 CuTe DSL:从 C++ 模板元编程到 Python DSL 的 GPU 编程演进
开发语言·c++·python·cutlass·cute·cute dsl
·present·4 小时前
CSAPP(lecture 13_02 Linking)
c语言·c++
FRing034 小时前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
旖旎夜光4 小时前
【C++ 基础入门】C++ 多态(上):虚函数、重写、override/final 与抽象类
开发语言·c++·笔记·学习
starzy19905 小时前
深入理解Scala嵌套函数:作用域封装之道
开发语言·scala