| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1719 人关注过本帖
标题:求大佬帮忙解答c语言的题目!
只看楼主 加入收藏
梦小123
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-2-16
结帖率:88.89%
收藏
已结贴  问题点数:15 回复次数:5 
求大佬帮忙解答c语言的题目!
①求1到n以内(包括n,n<1000)所有的完全数。n由键盘输入(每个数后面带一个空格)

要求:(1)编写如下接口的功能函数:int fun(int n),该函数的功能是判断n是不是完全数。若是,返回1,若不是返回0。

           (2)main函数去调用该功能函数。

完全数定义:该数的所有因子之和为该数的两倍。如6的因子是1,2,3,6。6*2=1+2+3+6.所以6是完全数

样例:
输入
30

输出
6 28
搜索更多相关主题的帖子: 输入 返回 c语言 int 函数 
2021-03-18 15:40
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:13 
仅供参考

程序代码:
#include <stdio.h>
#include <stdbool.h>

bool is_perfect_umber( unsigned v )
{
    unsigned sum = 0;
    for( unsigned i=1; i<v; ++i )
        if( v%i == 0 )
            sum += i;
    return sum == v;
}

int main( void )
{
    unsigned n;
    scanf( "%u", &n );

    for( unsigned i=1; i<=n; ++i )
        if( is_perfect_umber(i) )
            printf( "%u ", i );
}




程序代码:
#include <stdio.h>

int main( void )
{
    unsigned n;
    scanf( "%u", &n );
    printf( "%.*s", (n>=6)*2+(n>=28)*3+(n>=496)*4, "6 28 496 " );
}
2021-03-18 16:21
梦小123
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-2-16
收藏
得分:0 
回复 2楼 rjsp
您好,这好像没用到int fun(int n)函数呀
2021-03-18 18:13
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:2 
bool is_perfect_umber( unsigned v ) 对应的就是你的fun
2021-03-18 20:56
梦小123
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-2-16
收藏
得分:0 
回复 4楼 apull
噢噢,谢了
2021-03-19 10:50
梦小123
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-2-16
收藏
得分:0 
回复 2楼 rjsp
谢谢!
2021-03-19 10:50
快速回复:求大佬帮忙解答c语言的题目!
数据加载中...
 
   



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

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