求完数 并输出相应表达式

编写子函数判断一个整数是否为完数。
在主函数中输入一个整数n,调用该子函数
判断n是否为完数,如果是输出相应的表达式。
如:n=6,则输出6=1+2+3

#include<stdio.h>
 
 void Print(int num)
{
        int tmp=0;//保存所有因子的和
    for (int i = 1; i < num; i++)
    {
        if (num % i == 0)//如果num能被i整除,i就是num的一个因子
        {
            tmp += i;//所有因子之和
        }

    }
    if(tmp == num){
            printf("%d = 1",num);
    for (int i = 2; i < num; i++)//循环查找因子
    {
        if (num % i == 0)//如果是因子就打印
        {
            printf("+ %d",i);
        }
    }
    printf("\n");
    }

}

int main()
{
    int n=0;
    scanf("%d",&n);

    Print(n);//如果是完数就打印
    return 0;
}