pow总是有问题?
#include<stdio.h>#include<math.h>
int main()
{
int m,n,max,ws,gw,k,sum=0;
printf("请输入一个位数m(1<=m<=8),求出1位至m位的所有水仙花数如下:\n");
max=pow((int)10,(int)m)-1;
for(n=1;n<=max;n++)
{
//求出n的位数
k=n;
ws=0;
while(k!=0)
{
k=k/10;
ws++;
}
//求出n的各位gw及对应的和gw的ws次方
sum+=pow((int)gw,(int)ws);
//判断是否为水仙花数,是则输出
if(sum==n)
printf("%d\n",n);
}
}