求n以内的所有完数,且输出因子,不知道哪里错了,无法运行

#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;
}

b=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;

}


编译不通过,还是输入后没有反应?截图看下

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632