c语言求水仙花数
【问题描述】输入2 个正整数m 和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身。
【输入形式】
输入2个正整数m 和n(1≤m,n≤1000)
【输入输出样例1】(下划线部分表示输入)
Input m: 100
Input n: 400
153
370
371
我的代码:
#include<stdio.h>
int a(int i)
{
int sum;
sum=(i/100)*(i/100)*(i/100)+(i%100/10)*(i%100/10)*(i%100/10)+(i%10)*(i%10)*(i%10);
if(sum==i)
return 1;
}
int main()
{
int m,n,i;
scanf("%d%d",&m,&n);
printf("Input m: Input n:");
for(i=m;i<=n;i++)
if(a(i)==1)
printf("%d\n",i);
return 0;
}
每次输出时总会多出一些10,100等是十的倍数的数...思考良久仍无解决办法,望解答。