#include <stdio.h>
int sumOfFactors(int n) {
int s = 0;
for (int i = 2; i < n; i++) {
if (n % i == 0) {
s = s + i;
}
}
return s;
}
int main() {
int n = 12;
int result = sumOfFactors(n);
printf("除 1 和自身外的因子之和为:%d\n", result);
return 0;
}
以下是对这段 C 代码的解析:
1. 首先,定义了一个函数 sumOfFactors 用于计算给定整数 n 除 1 和自身外的因子之和。
- 定义了变量 s 用于存储因子之和,初始化为 0 。
- 用一个 for 循环从 2 到 n - 1 。
- 在循环中通过 n % i == 0 来判断 i 是否为 n 的因子,如果是,就将其累加到 s 中。
2. 在 main 函数中:
- 定义 n 为 12 。
- 调用 sumOfFactors 函数计算并将结果存储在 result 中。
- 最后使用 printf 输出结果。
需要重点关注的是对因子的判断条件 n % i == 0 以及在循环中累加因子的操作 s = s + i 。