求完数及其因子。为啥没有输出啊😭,求指点

#include <stdio.h>
#include <stdlib.h>

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

修改如下,供参考对照:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int N, i, n, s;
    scanf("%d", &N);
    for (n = 2; n <= N; n = n + 1)
    {
        s = 0;
        for (i = 1; i <= n/2; i = i + 1)//修改
        {
            if (n % i == 0)
            {
                s = s + i;
            }
        }
        if (s == n)
        {
            printf("%d its factors are:1 ", n);
            for (i = 2; i <= n/2; i = i + 1)
            {
                if (n % i == 0)
                {
                    printf("%d ", i);
                }
            }
            printf("\n");
        }
    }
    return 0;
}