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;}