题目:
如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
注意:只填写一个小数,不要写任何多余的符号或说明。
答案:2.506184
解题思路:首先, 求近似值需要用到fabs(double x)求浮点数绝对值函数,求x次幂要用到pow(x,x)函数。
#include<stdio.h>
#include<math.h>
int main()
{
double x;
for(x=2;x<3;x+=0.00000001)
{
if(fabs(pow(x,x)-10)<0.000001)
printf("%.7f\n",x);
}
return 0;
}
需要注意的是,题目要求答案精确到6位小数,所以代码中我输出的是7位小数,方便进行四舍五入判断。
最后扩展求绝对值的数学函数:
abs:求整数的绝对值
labs:求长整形的绝对值
fabs:求浮点数的绝对值