输入两个正整数m和n(m≥1,n≤1000),输出m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。例如,153的各位数字的立方和是13+53+33 =153。
#include<stdio.h>
#include<math.h>
int main(void)
{
int m,n,i,sum,a;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
sum=0;
for(i=m;i<=n;i++){
a=i;
do{
sum=sum+pow(a-10*(a/10),3);
a=a/10;
}while(a!=0);
if(i==sum){
printf("%d\n",i);
}
}
return 0;
}
我不知道错哪了,虽然我后来换了一种方法对了,可是还是奇怪这一种为什么没有输出……求解
输入自己写。
for(int i=m; i<=n; i++){