[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

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

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

相关推荐
大圣编程11 分钟前
Python中continue语句的用法是什么?
开发语言·前端·python
upgrador37 分钟前
基础知识:C++ STL构造函数的左闭右开惯例及其实现原理
开发语言·c++
灯厂码农1 小时前
C语言动态内存分配完全指南(malloc、calloc、realloc、free)
java·c语言·算法
yoothey2 小时前
报废审批流规则引擎设计——责任链模式完整实现
linux·开发语言·bash
geovindu2 小时前
python: Functional Options Pattern
开发语言·后端·python·设计模式·惯用法模式·函数式选项模式
wuyk5552 小时前
24. C 语言模块化:不是拆几个.c 文件那么简单
c语言·开发语言·stm32·单片机
qq_241585612 小时前
可用在中断中浮点数打印类似printf
c语言
凯瑟琳.奥古斯特3 小时前
K次取反最大化数组和解法(力扣1005)
开发语言·c++·算法·leetcode·职场和发展
AC赳赳老秦3 小时前
防火墙规则批量配置实战:OpenClaw 自动生成模板、批量下发与合规性校验全解析
java·开发语言·人工智能·python·github·php·openclaw
☆cwlulu3 小时前
调试排查工具介绍(gdb、strace、Valgrind等)
开发语言·c++·嵌入式硬件·ubuntu