题目描述:
计算 1-3+5-7+…+97-99 的值,请将代码未完成的部分填入,使之完整。
代码:

#include <iostream>
using namespace std;
int main() 
{
    int sum = 0;
    // 从 1 开始,每次步长为 2,即 1, 3, 5, ..., 99
    for (int i = 1; i <= 99; i += 2) 
    {
        if (1) {  // 检查是否为加项
            sum += i;           // 如果是加项,累加
        }
        else {
            sum -= i;           // 如果是减项,累减
        }
    }

    cout << "表达式的值是: " << sum << endl;
    return 0;
    }

提示:
遍历的奇数 i 为:1, 3, 5, 7, 9, 11, …,一直到 99。
当 i = 1 时,i / 2 = 0
当 i = 3 时,i / 2 = 1
当 i = 5 时,i / 2 = 2
当 i = 7 时,i / 2 = 3
当 i = 9 时,i / 2 = 4

i 为奇数遍历, i / 2 产生了一个连续的整数序列:0, 1, 2, 3, 4, …,这个序列代表 i 在奇数序列中的"索引"

因此,(i / 2) % 2 == 0 可以实现按照奇数位置进行交替加减

10-11 12:55