```c
include
// 函数声明
bool fun(int i);
int main() {
int i;
printf("1000以内的完数有:\n");
for(i = 1; i <= 1000; i++) {
if(fun(i)) {
printf("%d\n", i);
}
}
return 0;
}
// 函数定义
bool fun(int i) {
int j;
int sum = 0;
for(j = 1; j < i; j++) {
if(i % j == 0) {
sum += j;
}
}
if(i == sum) {
return true;
} else {
return false;
}
}
```
这个程序首先定义了一个名为`fun`的函数,该函数接收一个整数参数`i`,并返回一个布尔值,表示`i`是否为完数。在`main`函数中,我们遍历1到1000之间的所有整数,并调用`fun`函数检查每个整数是否为完数。如果是,则打印该整数。