一个水仙花函数求找错!
我的意图是求1到n内的所有水仙花数。水仙花数是一个n位数每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)#include <stdio.h>
#include <math.h>
int shx();
int main( )
{
int i;
int n;
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
if( shx(i) )
printf("%d ", i);
}
}
shx( int n )
{
int a, b,c;
int m = 0, k = 0;
b = n;
c = n;
while(b != 0)
{
b = b / 10;
m++;
} // 确定n是几位数.
while(c != 0)
{
a = (c % 10);
k += pow(a, m);
c = c / 10;
}
if(k == n)
return 1;
else
return 0;
}
编译出好些错 ,偶改不来了,大家帮忙看下 。