输入两个偶数 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;
}