我在想,我怎样才能把运行代码后显示的除数相加呢?

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n, i;
    scanf("%d", &n);

    for(i = 1; i < n; i++)
    {
        if(n % i == 0)
        {
            printf("%d\n", i);
        }
    }
    return 0;
}

如果我进入,比如说,25,它会打印出1,5。我在想怎么把1号和5号相加?

最佳答案

能这么简单吗?您需要使用一个简单的递增运算符(+=)来递增变量sum

int main(void)
{
    int n, i, sum = 0;
    if( scanf("%d", &n)!= 1){
        fprintf(stderr,"Error in input\n");
        exit(EXIT_FAILURE);
    }

    for(i = 1; i < n; i++)
    {
        if(n % i == 0)
        {
            printf("%d\n", i);
            sum += i;
        }
    }
    printf("Sum of divisors: %d\n", sum);
    return 0;
}

关于c - C编程:如何将整数n的除数相加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48837684/

10-11 22:06
查看更多