Online Compiler C

#include <stdio.h> int is_even_digit_sum(int n) { int sum=0; if(n==0) { return 1; } while(n>0){ sum+=n%10; n/=10;} return(sum%2==0)?1:0; } int main() { printf("%d",is_even_digit_sum(136)); return 0; }
这段代码定义了一个函数 `is_even_digit_sum`,它计算一个整数的各位数字之和,然后判断这个和是否为偶数。如果是偶数,函数返回1,否则返回0。主函数中测试了数字136,其各位和为1+3+6=10,是偶数,所以输出1。

- 注意函数名 `is_even_digit_sum` 可能容易误解。它判断的是“各位数字之和是否为偶数”,而不是“每个数字是否为偶数”。你可以考虑函数名是否准确表达了功能。
- 代码中有一个特殊情况:当 `n` 为0时,直接返回1。这是因为0的各位和是0,0是偶数。但你可以思考一下,这个处理是否与循环逻辑一致,或者是否有更简洁的方式统一处理。