用c语言编写程序:输出1000之内的完数,判断完数的功能用自定义函数实现。完数是指一个数等于它的全部因子之和。
时间: 2023-06-25 10:05:44 浏览: 97
下面是用C语言编写的程序,可以输出1000之内的完数:
```c
#include <stdio.h>
int isPerfect(int n);
int main() {
int i;
printf("Perfect numbers between 1 and 1000:\n");
for (i = 1; i <= 1000; i++) {
if (isPerfect(i)) {
printf("%d\n", i);
}
}
return 0;
}
int isPerfect(int n) {
int sum = 0, i;
for (i = 1; i < n; i++) {
if (n % i == 0) {
sum += i;
}
}
if (sum == n) {
return 1;
} else {
return 0;
}
}
```
在该程序中,我们用了一个自定义函数 `isPerfect()` 来判断一个数是否为完数。该函数接受一个整数作为参数,首先用一个循环来计算该数的所有因子之和,然后判断这个和是否等于该数本身。如果相等,就返回 1,表示该数是完数;否则返回 0,表示该数不是完数。
在主函数中,我们使用一个循环来遍历从 1 到 1000 的所有整数,对每个整数调用 `isPerfect()` 函数来判断它是否为完数,如果是,就输出该数。
阅读全文