如何输出并累加两个整数间的所有偶数?现有代码仅能升序输出区间值
C语言区间偶数输出及求和实现
需求说明
- 接收两个输入整数
- 输出两个整数区间内的所有偶数
- 统计并输出区间内所有偶数的总和
原代码问题
当前代码仅实现了区间内整数的倒序输出,未实现偶数筛选、偶数求和功能,且main函数写法不符合C标准规范,原代码如下:
#include <stdio.h> main() { int a; int b; printf("Enter integer a:"); scanf("%d", &a); printf("Enter integer b:"); scanf("%d", &b); if(b > a) { do { printf("Result: %d\n", b); b--; } while (a <= b); } else { do { printf("Result: %d\n", a); a--; } while (a >= b); } }
修改后可用代码
#include <stdio.h> int main() { int a, b; int start, end; int sum = 0; printf("Enter integer a:"); scanf("%d", &a); printf("Enter integer b:"); scanf("%d", &b); // 自动确定区间上下边界,无需考虑输入顺序 start = a < b ? a : b; end = a > b ? a : b; printf("区间内的偶数如下:\n"); for (int i = start; i <= end; i++) { // 筛选偶数 if (i % 2 == 0) { printf("%d\n", i); sum += i; } } printf("区间内偶数总和为:%d\n", sum); return 0; }
核心修改说明
- 调整
main函数定义为int main(),末尾添加return 0;,符合C语言语法标准 - 新增边界判断逻辑,自动适配两个输入整数的大小顺序,简化分支代码
- 新增偶数判断逻辑:用
i % 2 == 0筛选偶数,仅对符合条件的数值做输出和累加 - 新增求和变量
sum,遍历过程中累加符合条件的偶数,遍历结束后输出总和
内容的提问来源于stack exchange,提问作者user17383357
相关产品推荐
相关产品推荐

