输入正整数m和n(1<=m,n<=1000),输出m~n之间的所有水仙花数,

水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身【输入形式】【输出形式】【样例输入】10... 水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身
【输入形式】
【输出形式】
【样例输入】100,400
【样例输出】153
370
371
我的代码如下 ,请问哪里错了
#include<stdio.h>
int is(int number);
main()
{
int n=0,m=0,i=0;
scanf("%d,%d",&n,&m);
for(i=n;i<=m;i++){
is(i);
printf("%d\n",i);
}
}
int is(int number)
{
int i,j,k;

i=number/100;
j=number/10-i*10;
k=number%10;
if(number==i*i*i+j*j*j+k*k*k)

return number;

}
展开
 我来答
有你的晴天12138
推荐于2016-12-01 · TA获得超过1001个赞
知道小有建树答主
回答量:305
采纳率:80%
帮助的人:223万
展开全部
is(i);
printf("%d\n");

// 修改为: 
if (is(i))
{
    printf("%5d", i);
}

 即,判断到是水仙花数的才需要输出,要加 if 判断

另外,if(number==i*i*i+j*j*j+k*k*k)
      return number; 也需要修改一下

if (number == i * i * i + j * j * j + k * k * k)
{
    return 1;
}
else
{
    return 0;
}
更多追问追答
追问

不对啊,我输入100,400还是没输出。

而且返回值为什么要改为return 1和return 0呢

不对啊 我还是没有运行成功,编译器没反应

还有 返回值要改为return 0和return 1呢

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式