求完数并输出因子,不知道哪里错了,无法运行

#include
int main()
{
int n,i,j,b;
scanf("%d",&n);
b=0;
for(i=2;i
{
for(j=1;j<=i/2;j++)
if(i%j==0) b=b+j;
if(b==i)
{
printf("%d its factors are ",i);
for(j=1;j
if(i%j==0) printf("%d ",j);
printf("\n");
}
}
return 0;


#include <stdio.h>
int main()
{
    int n,i,j,b;
    scanf("%d",&n);

    for(i=2;i<n;i++)
    {
        b=0;
        for(j=1;j<=i/2;j++)
            if(i%j==0) b=b+j;
        if(b==i)
        {
            printf("%d its factors are ",i);
            for(j=1;j<i;j++)
                if(i%j==0) printf("%d ",j);
            printf("\n");
        }
    }

return 0;
}