编写函数,判断一个正整数a是否为完数,如果是完数,函数返回值为1,否则为0。编写主函数,输出1000以内所有的完数(c语言)
时间: 2023-06-19 16:05:12 浏览: 199
c语言实现打印1000之内的所有“完数”
5星 · 资源好评率100%
以下是代码实现:
```c
#include <stdio.h>
int isPerfect(int a) {
int sum = 0;
for (int i = 1; i < a; i++) {
if (a % i == 0) {
sum += i;
}
}
if (sum == a) {
return 1;
} else {
return 0;
}
}
int main() {
for (int i = 1; i <= 1000; i++) {
if (isPerfect(i)) {
printf("%d\n", i);
}
}
return 0;
}
```
首先,我们定义一个函数 `isPerfect`,该函数接受一个正整数参数 `a`,并返回一个整数值。在函数内部,我们使用一个循环来计算 `a` 的因子之和 `sum`。如果 `sum` 等于 `a`,则说明 `a` 是完数,函数返回 1,否则返回 0。
接下来,在 `main` 函数中,我们使用一个循环来遍历所有小于等于 1000 的正整数。对于每个正整数,我们调用 `isPerfect` 函数来判断它是否是完数。如果是,我们将它输出到屏幕上。最后,程序返回 0。
阅读全文