c++求完数…有一半打不出来

1.如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完.数”。例如6的因子为1, 2, 3,且1+2+3=6, 因此6是一一个"完数”。编写一个一函数bool perfectnumber(int n);求参数n是否为完数;在主函数中计算并输出10000以内的所有“完数”之和。

bool的返回值不知道写什么…
还有主函数的求和要怎么打啊…

img

img

代码如下,如有帮助,请点击一下采纳谢谢


#include <stdio.h>
int ws(int n)
{
int i,k,j=0;
for (i=1;i<n;i++)
{
k=n%i;
if (k==0)
j+=i;
}
if (j==n)
return 1;
else
return 0;
}
void main()
{
int i,result,sum;
for (i=1;i<=1000;i++)
{
result=ws(i);
if (result==1)
{
printf("+%d",i);
sum += i;
}
}

printf(" = %d", sum);
}

代码太糟糕了