C语言 打印设备总和最大的数字

htrmnn0y  于 2022-12-03  发布在  其他
关注(0)|答案(2)|浏览(132)

我有一个家庭作业,但我不能得到答案,我需要写一个程序在C...这里是什么是需要的:您需要输入“n”个自然数作为输入,并从所有小于“n”的自然数中,打印具有最高devisors总和的数字。对于exp:输入10,输出8有人能帮我吗?我真的很感激!
我试着写一个程序来寻找一个数字的除数,但我不能远离这里

#include <stdio.h>
int main() {
    int x, i;
    printf("\nInput an integer: ");
    scanf("%d", &x);
    printf("All the divisor of %d are: ", x);
    for(i = 1; i < x; i++) {
        if((x%i) == 0){
            printf("\n%d", i);
        
        }
    }
}
mtb9vblg

mtb9vblg1#

我已经实现了使用函数,将从用户输入的数字,然后返回除数的总和。希望这是一个你寻找

/* function to return of sum of divisor
** input: x: integer number from user input
** return sum: sum of divisor of x 
*/

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

int main() {
    int x, i;
    printf("\nInput an integer: ");
    scanf("%d", &x);
    printf("All the divisor of %d are: ", x);
    printf("the sum of divisor is %d ", sum_of_divisor(x));
    return 0;
}

输出量:

Input an integer: 10
All the divisor of 10 are: 1
2
5
the sum of divisor is 8
hmae6n7t

hmae6n7t2#

检查i是否是x的除数后,应将该值存储在另一个变量中,例如m
重复上述步骤,直到新的除数i大于该数。将新值加到m上。

相关问题