求教一道C语言题目

问题:输入2个正整数m和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函... 问题:输入2 个正整数m 和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身。
我的答案:
#include<stdio.h>
int is(int number)
{
int a,b,c;

a=number%10;
b=(number/10)%10;
c=number/100;
if(number==a*a*a+b*b*b+c*c*c&&number!=1000)
{return 0;
}
return 1;
}
int mian(void)
{
int m,n,i,number;
int is(int number);
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<=n;i++){
if(is(number)=0){
printf("%d\n",i);}
}
return 0;
}
求解哪里错了?
展开
 我来答
你若安好TL
2013-04-21
知道答主
回答量:35
采纳率:0%
帮助的人:15.9万
展开全部
#include<stdio.h>
int is(int number)
{
int a=0,b=0,c=0;
//赋值
a=number%10;
b=number/100;
c=(number-b*100)/10;//改了下
if(number==a*a*a+b*b*b+c*c*c&&number!=1000)
{return 0;
}
return 1;
}

int mian(void)
{
int m=0,n=0,i=0;
//错1
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<=n;i++){
if(is(i)==0){ / / 错2
printf("%d\n",i);}
}
return 0;

}
我没调试 有问题追问
追问

我编译之后显示:

D:/GUIDE 1.0.2/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `WinMain@16'

collect2: ld returned 1 exit status

编译结束但存在 1 警告 

提交到作业系统后显示:

 

kaif22
2013-04-21
知道答主
回答量:27
采纳率:0%
帮助的人:20.9万
展开全部
if(number==a*a*a+b*b*b+c*c*c&&number!=1000)

要有括号
if((number==a*a*a+b*b*b+c*c*c)&&(number!=1000))
追问
编译之后显示7.c: In function `mian':
7.c:26: error: invalid lvalue in assignment
7.c:35:2: warning: no newline at end of file
求解,谢谢了~~
追答
删去 int is(int number);
if(is(number)=0)改为 if(is(number)==0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式