输入两个偶数 first_num,last_num 请计算fist_num(含)~last_num(含)中的偶数和并输出 注意 last_num>fist_num

输入两个偶数 first_num,last_num 请计算fist_num(含)~last_num(含)中的偶数和并输出 注意 last_num>fist_num
求解答

具体代码实现和详细解释如下,望采纳

#include <stdio.h>

int main() {
    int first_num, last_num;

    // 输入 first_num 和 last_num
    printf("请输入第1个数: ");
    scanf("%d", &first_num);
    printf("请输入第2个数: ");
    scanf("%d", &last_num);

    // 计算偶数和
    int sum = 0;
    for (int i = first_num; i <= last_num; i++) {
        if (i % 2 == 0) { // 判断是否为偶数
            sum += i;
        }
    }

    // 输出结果
    printf("在 %d 和 %d 之间的偶数和为 %d\n", first_num, last_num, sum);

    return 0;
}

代码使用 scanf 函数从键盘输入 first_num 和 last_num。然后使用一个循环遍历 first_num 到 last_num 之间的数字,判断是否为偶数,如果是,将其加入偶数和。最后输出结果。

两种方法


void sum_1() {
    int first_num = 0;
    int last_num = 0;
    int sum = 0;
    scanf("%d%d", &first_num, &last_num);
    while (first_num <= last_num) {
        sum += first_num;
        first_num += 2; //因为是偶数 直接以2为步长相加
    }
    printf("sum = %d\n", sum);
    return;
}

void sum_2() {
    int first_num = 0;
    int last_num = 0;
    int sum = 0;
    scanf("%d%d", &first_num, &last_num);
    int evenValue = (last_num - first_num) / 2 + 1;  //偶数的总个数
    if (evenValue % 2 == 0) {  //偶数的个数是偶数
        sum = (first_num + last_num) * (evenValue / 2); 
    } else { //是奇数
        sum = (first_num + last_num) * (evenValue / 2) + //除了中间那个偶数其他偶数的总和
        first_num + (evenValue / 2 * 2); //中间那个偶数的大小
    }
    printf("sum = %d\n", sum);
    return;
}