1.从键盘输入一个整数,判定该数是否为完数,不是完数则显示“某数不是完数”,如: 8不是完数;是的话则显示“某数是完数,它的因数为: 如: 6是完数,它的因数为1 2 3

1.从键盘输入一个整数,判定该数是否为完数,不是完数则显示“某数不是完数”,如: 8不是完数;是的话则显示“某数是完数,它的因数为:

如: 6是完数,它的因数为1 2 3

“Devil组”引证GPT后的撰写:


#include <stdio.h>

int main() {
    int num, sum = 0;
    printf("请输入一个整数:");
    scanf("%d", &num);
    
    // 计算因数和
    for (int i = 1; i < num; i++) {
        if (num % i == 0) {
            sum += i;
        }
    }
    
    // 判断是否为完数并输出结果
    if (sum == num) {
        printf("%d是完数,它的因数为:", num);
        for (int i = 1; i < num; i++) {
            if (num % i == 0) {
                printf(" %d", i);
            }
        }
    } else {
        printf("%d不是完数", num);
    }
    
    return 0;
}