亲密数对(c语言函数)

img


#include<stdio.h>
int fun(int n)
{
    int i,s=0;
    for(i=2;i<n;i++)s+=i;
    return s;
}
int main()
{
    int n,a,b,i;
    scanf("%d",&n);
    for(a=2;a<=n;a++)
    for(b=2;b<=n;b++)
    {if(fun(a)==b&&fun(b)==a)printf("%d %d\n",a,b);
    }return 0;
}

求哪错了,运行不了,咋改啊

#include <stdio.h>
int func(int n)
{
    int i,s=0;
    for(i=2;i<n;i++)
        if(n%i==0)
         s+=i;
    return s;
}

int main()
{
    int N;
    scanf("%d",&N);
    for(int i=2;i<=N;i++)
        for(int j=2;j<=N;j++)
        {
            if(i==j)
                continue;
            if(func(i) == j && func(j) == i)
                printf("%d %d\n",i,j);
        }
    return 0;
}