qwe13098918758 2021-12-17 16:33 采纳率: 70%
浏览 103
已结题

C语言函数题,。?!

本题要求实现一个函数,判断一个自然数是否是完数。如果一个自然数除自身之外的因子和等于它自己,则称该数为完数。例如 6 = 1 + 2 + 3;则6是完数。

函数接口定义:
在这里描述函数接口。:
int isPerfect (int x);
在这里解释接口参数。其中 x 是用户传入的参数。 x 的值不超过int的范围且 x大于0;如果 x是完数,函数返回1,否则返回0。

裁判测试程序样例:
在这里给出函数被调用进行测试的例子:

#include <stdio.h>

int isPerfect(int x);

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

/* 请在这里填写答案 */

  • 写回答

1条回答 默认 最新

  • Hann Yang 优质创作者: 编程框架技术领域 2021-12-17 18:20
    关注
    #include <stdio.h>
    
    int isPerfect(int x);
    
    int main()
    {
        for (int i = 1; i <= 10000; i++){
            if (isPerfect(i)){
                printf("%d\n", i);
                }
            }
        return 0;
    }
    
    int isPerfect(int x){
        int sum = 0;
        for (int i=1; i<x; i++){
            if (x%i==0)
                sum += i;
        }
        if (x==sum)
            return 1;
        else
            return 0;
    }
    

    输出结果:
    6
    28
    496
    8128

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 12月17日