main()
{
int i,j,k,n;
scanf("%d",&n);//输入你想要的数据,这个是判断三位数的。
i=n/100;
j=n/10-i*10;
k=n%10;//上面i,j,k,是分别获取百位,十位,各位,上的数字。
if(n==i*i*i+j*j*j+k*k*k)//判断是不是水仙花数。
printf("yes\n");
printf("%d\n",n);//输出n
else
printf("no\n");
}
上面程序是只能判断三位数的,如果想更高的话,可以在判断各个位数上改动程序。