判断水仙花数?,算法上出了问题,但是我不知道怎么去改,请大神帮忙
程序代码:
#include<stdio.h> int main() { int n,i,temp,v=1; int sum=0; int a[10]; scanf("%d",&n); for(i=0;i<=9;i++) { a[i]=n%10; temp=n/10; n=temp; if(temp==0) break; v++; } printf("%d",v); for(i=0;i<=v;i++) { printf("%d",pow(a[i],v)); sum=sum+pow(a[i],v); } printf("%d\n",sum); if(sum==n) printf("YES\n"); else printf("NO\n"); return 0; }
运行结果:30000153
不知道30000是怎么出来的。