C语言中的pow函数的使用

1.首先我们使用pow函数必须要使用头文件 :#include<math.h>

pow() 函数是用来:求 x 的 y 次方,x、y及函数值实际上为double型 ,

pow函数的语法原型:double pow(double x,double y)

2.计算x的y次方

#include<stdio.h>
#include<math.h>
int main()
{
    int x,y,ret;
    scanf("%d,%d", &x, &y);
    ret = pow(x,y);    //求x的y次方
    printf("%d", ret);
    return 0;
}

底数 a为负数并且指数 b 不是整数,底数 a和指数 b都是 0,底数 a是 0,指数 b 为负数都会导致计算错误。所以在使用pow函数时,要注意底数和指数数字的正负。

3.实践练习

求出0~100000中的“水仙花数”并且输出。

“水仙花数”是指一个n位数,其各位数字的n次方之和刚好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。

#include<stdio.h>
#include<math.h>
int main()
{
    int i = 0;
    for (i = 0; i < 100000; i++)
    {
        int n = 1;//任何一个数至少是一位数
        int tmp = i;
        int sum = 0;
        while (tmp / 10)
        {
            n++;
            tmp /= 10;
        }
        tmp = i;
        while (tmp)
        {
            sum += pow(tmp % 10, n);
            tmp /= 10;
        }
        if (sum == i)
        {
            printf("%d ", i);
        }
    }
    return 0;
}