标题:求助,如何将这个函数改为自定义函数(有返回值无参数)然后通过主函数调用
只看楼主
看谁都是你
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-10-13
结帖率:57.14%
 问题点数:0 回复次数:10 
求助,如何将这个函数改为自定义函数(有返回值无参数)然后通过主函数调用
#include <stdio.h>
int main(int argc, char *argv[])
{
    int num,a,b,c;
    while (1)
    {
        printf("请输入一个整数:\n");
        scanf("%d",&num);
        a=num%10;
        b=num/10%10;
        c=num/100;
        if (num==a*a*a+b*b*b+c*c*c)
            printf("此数为水仙花数\n");
        else
            printf("此数不是水仙花数\n");
    }
    return 0;
}
搜索更多相关主题的帖子: include return 水仙花 如何 
2016-10-27 14:28
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
程序代码:
_Bool foo( unsigned n )
{
    unsigned a = n%10;
    unsigned b = n/10%10;
    unsigned c = n/100;
    return n == a*a*a+b*b*b+c*c*c;
}

#include <stdio.h>

int main( void )
{
    for( unsigned n; puts("请输入一个整数:"), scanf("%u",&n)==1; )
        printf( "此数%s水仙花数\n", foo(n)?"":"不是" );
    return 0;
}
2016-10-27 14:56
看谁都是你
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-10-13
得分:0 
回复 2楼 rjsp
谢谢版主回复
为什么我运行起来有两个错误???
“%u”是什么我目前只学过%d和%f
2016-10-27 17:03
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
可以自己修改一下rjsp的代码
程序代码:
#include <stdio.h>

bool foo( unsigned n )
{
    unsigned a = n%10;
    unsigned b = n/10%10;
    unsigned c = n/100;
    return n == a*a*a+b*b*b+c*c*c;
}

int main( void )
{
    for( unsigned n; puts("请输入一个整数:"), scanf("%u",&n)==1; )
        printf( "此数%s水仙花数\n", foo(n)?"":"不是" );
    return 0;
}
%u  分明就是代表着   unsigned

DO IT YOURSELF !
2016-10-27 20:16
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
“运行起来有两个错误???” --- 运行错了,还可以错两次?听不懂。
如果是编译错误,你应该贴出编译时的错误信息,否则我没法瞎猜原因

“%u”对应 unsigned int 类型
2016-10-27 20:17
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 5楼 rjsp
主要是你的 _Bool 估计一般的编译器都不认识

DO IT YOURSELF !
2016-10-27 20:19
看谁都是你
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-10-13
得分:0 
回复 5楼 rjsp
我用的是C-free 我截图你看下
2016-10-27 20:40
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
以下是引用wp231957在2016-10-27 20:19:36的发言:

主要是你的 _Bool 估计一般的编译器都不认识
_Bool 早在上个世纪就加到C标准中,
如果还有编译器不支持它,这个编译器真不“一般”
2016-10-27 21:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
以下是引用看谁都是你在2016-10-27 20:40:00的发言:

我用的是C-free 我截图你看下

你说有两个错误,两个错误应该全贴出来

最起码你也应该贴第一个呀,因为后面的错误可能是之前的错误导致的,可是你只贴第二个
2016-10-27 21:05
看谁都是你
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-10-13
得分:0 
回复 9楼 rjsp

这样行吗?
2016-10-27 21:18



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




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

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