标题:判断从键盘输入的整数是否是完全数
只看楼主
马也987
Rank: 1
来 自:郑州轻工业学院
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-4-8
结帖率:100%
已结贴  问题点数:10 回复次数:3 
判断从键盘输入的整数是否是完全数
试编写一个判断从键盘输入的整数是否是完全数。如果一个正整数m的所有小于m的不同因子(包括1)加起来正好等于m本身,那么就成它为完全数。
要求编写一个函数isPerfect(),实现完全数判断功能,在主函数中调用此函数。
isPerfect(int x){
判断x是否为完全数,如果是则返回1,否则返回0。
}


#include<stdio.h>
 isPerfect(int x)
{
    int flag=1,s=0,i;
    for(i=1;i<x;i++)
    {
        if(i%x==0)
            s=s+i;
    }
    if(s==x)
        flag=1;
    else
        flag=0;
    return(flag);
}
int main()
{
    int x,n;
    scanf("%d",&x);
    n=isPerfect(x);
    if(n==1)
        printf("%d is a perfect number\n",x);
    else
        printf("%d is not a perfect number\n",x);
    return 0;
}
搜索更多相关主题的帖子: include return 正整数 
2013-05-01 21:08
马也987
Rank: 1
来 自:郑州轻工业学院
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-4-8
得分:0 
大家帮忙看看哪错了!
2013-05-01 21:09
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
得分:10 
#include<stdio.h>
int isPerfect(int x)
{
    int flag=1,s=0,i;
    for(i=1;i<x;i++)
    {
        if(x%i==0) /*应该是这样*/
            s=s+i;
    }
    if(s==x)  
        flag=1;
    else
        flag=0;
    return(flag);
  /* 红色部分也可以写成return s==x,代码简单点*/
}
int main()
{
    int x,n;
    scanf("%d",&x);
    n=isPerfect(x);
    if(n==1)
        printf("%d is a perfect number\n",x);
    else
        printf("%d is not a perfect number\n",x);
    return 0;
}
2013-05-01 21:15
马也987
Rank: 1
来 自:郑州轻工业学院
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-4-8
得分:0 
谢谢!
2013-05-01 21:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406037-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.140881 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved