输出 1 到 100 之间的所有完数。要求定义和调用函数is(n)判断n是否为完数,若n为完数则返回1,否则返回0。完数就是因子和与它本身相等的数,6是完数(6=1+2+3),1不是完数。,用c语言
时间: 2023-06-17 22:07:28 浏览: 92
3.8C语言5班笔记.pptx
以下是判断完数的函数is(n)的实现:
```c
int is(int n)
{
int sum = 0;
for (int i = 1; i < n; i++) {
if (n % i == 0) {
sum += i;
}
}
if (sum == n) {
return 1;
} else {
return 0;
}
}
```
然后可以在主函数中调用该函数来输出 1 到 100 之间的所有完数:
```c
#include <stdio.h>
int is(int n);
int main()
{
for (int i = 1; i <= 100; i++) {
if (is(i)) {
printf("%d ", i);
}
}
return 0;
}
int is(int n)
{
int sum = 0;
for (int i = 1; i < n; i++) {
if (n % i == 0) {
sum += i;
}
}
if (sum == n) {
return 1;
} else {
return 0;
}
}
```
输出结果为:
```
6 28
```
阅读全文