判断水仙花数?,算法上出了问题,但是我不知道怎么去改,请大神帮忙
程序代码:#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是怎么出来的。

