已知24有8个正整数因子,而24正好被因子数整除,问100到300之间有多少个能被其因子数整除的数

我的程序有什么错误呢?为什么一直输出的都是八?正确答案是十九,初学者,各位神仙请看看

img

N、sum等变量没初始化,n每次while前初始化为1.

int main()
{
    int n = 1, N = 100, sum, C = 0;
    while (N <= 300)
    {
        n = 1;
        sum = 0;
        while (n <= N)
        {
            if (N % n == 0)
                sum++;
            n++;
        }
        if (N % sum == 0)
            C++;
        N++;
    }
    printf("%d", C);
}