C语言编写函数fun(int n),它的功能是:计算正整数n 的所有因子(1和n 除外之和作为函数值返回
时间: 2024-12-18 21:26:35 浏览: 9
C语言程序设计练习题(含程序及参考答案).docx
在C语言中,你可以通过遍历从1到`sqrt(n)`的所有整数,并检查它们是否能整除`n`来编写一个函数来计算正整数`n`的因子和。除了1和n本身,其他的因子都会被加到总和中。以下是该函数的一个简单实现:
```c
#include <stdio.h>
#include <math.h>
int fun(int n) {
int sum = 0;
for (int i = 2; i <= sqrt(n); i++) { // 遍历从2到sqrt(n)
if (n % i == 0) { // 检查i是否是n的因子
sum += i; // 如果是,将其加入总和
if (i != n / i) { // 如果i不是n的平方根(避免重复计数)
sum += n / i; // 添加另一个因子
}
}
}
return sum;
}
// 示例用法
int main() {
int num = 12; // 要计算因子和的数字
printf("The sum of factors for %d is %d\n", num, fun(num));
return 0;
}
```
阅读全文