如果x的x次幂结果为10,你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
需要用到的函数fabs(double x),求x的绝对值;pow(x,y),求x^y的值
#include<stdio.h>
#include<math.h>
//以下是while循环实现
int main()
{
double x=2.0;
while(x<3.0)
{
x=x+0.00000001;//8个小数位的形式递增
if(fabs(pow(x,x)-10.0)<0.000001)
{
//printf("%lf\n",x);//直接输出2.506184 ,就无法四舍五入
printf("%.8lf\n",x);//输出8位小数然后我们再4舍5入
}
}
}
//以下是for循环实现
int main1()
{
double x;//从2开始
for(x=2.0;x<3.0;x+=0.00000001)//8个小数位的形式递增
{
//pow 函数求x的y次方,然后减去10.0再取绝对值看之差是否在10的-6次方以内以满足精度要求
if(fabs(pow(x,x)-10.0)<0.000001)
{
printf("%.8lf\n",x);
//break; //因为要求4舍5入所以多输出几个数字来做判断
}
}
return 0;
}