这个是题目:


这个是我的代码
int factorsum( int number )
{
int i=0,n=number,sum=1;
for(i=2;i<n;i++)
{
if(n%i==0)
{
sum+=i;
}
}
return sum;
}
void PrintPN( int m, int n )
{
int i=0,sum=0,c=0;
if(i==1)
{
printf("No perfect number");
}
else
{
for(i=m;i<=n;i++)
{
if( factorsum(i) == i )
{
printf("%d = 1",i);
for(int j=2;j<i;j++)
{
if(i%j==0)
{
printf(" + %d",j);
c++;
}
}
printf("\n");
c++;
}
}
if(c==0)
{
printf("No perfect number");
}
}
}
请问我写的哪里错误了呢?提交的时候显示部分正确 谢谢