c语言判断大小并找完数,求完整代码

【问题描述】

完数是指一个整数恰好等于它的因子之和(除自身外),则称这个数为完数。从键盘先后输入两个不大于9999的正整数m和n,若m>n,则交换两数。然后求m~n(m和n均为正整数且m≤n)之间的所有完数。

【输入形式】

先后输入两个正整数m和n,用逗号分隔

【输出形式】

输出所有完数,每两个数之间用逗号分隔。若输入非法,则输出“error”

【样例输入】

1,2000

【样例输出】

6,28,496

你的难点在哪里呢?

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

有答案了么,正好要用

完整源代码:

#include <stdio.h>

/*
    7、一个数如果刚好与它的所有的因子之和相等,则称该数为完数,如6=1+2+3,求出1000以内的所有完数    提示:用循环判断1-n之间的数是否为n的因子,是的话累加,要用到双重循环
   因子:除了它本身约数
*/ 
void main8(){
    
    int i,j;
    int num;//因子之和 
    for(i=2;i<=500;i++){
        num = 0;
        //printf("%d的因子如下:",i);
        for(j=2;j<=i;j++){ //j代表i对应的任何一个可能的因子 
            if(i %j == 0){
                num += i/j;  //3,2,1
                //printf("%d+",i/j);
            }
        }
        //printf("\n");
        //判断因子之和是否和该数相等
        if(num==i){
            printf("%d是完数\n",i);
        }     
    }
}

C语言入门到精通视频课程,大量实例:https://edu.csdn.net/course/detail/2766