蓝桥杯 历届试题 x的X次幂

25 篇文章 0 订阅
1 篇文章 0 订阅
如果x的x次幂结果为10,你能计算出x的近似值吗?

显然,这个值是介于2和3之间的一个数字。

请把x的值计算到小数后6位(四舍五入),并填写这个小数值。

需要用到的函数fabs(double x),求x的绝对值;pow(x,y),求x^y的值



答案:2.506184

[cpp]  view plain  copy
  1. #include<stdio.h>  
  2. #include<math.h>  
  3.   
  4. //以下是while循环实现   
  5. int main()  
  6. {  
  7.     double x=2.0;  
  8.     while(x<3.0)  
  9.     {  
  10.         x=x+0.00000001;//8个小数位的形式递增   
  11.         if(fabs(pow(x,x)-10.0)<0.000001)  
  12.         {  
  13.             //printf("%lf\n",x);//直接输出2.506184 ,就无法四舍五入   
  14.             printf("%.8lf\n",x);//输出8位小数然后我们再4舍5入   
  15.         }  
  16.     }  
  17. }   
  18. //以下是for循环实现   
  19. int main1()  
  20. {  
  21.     double x;//从2开始   
  22.     for(x=2.0;x<3.0;x+=0.00000001)//8个小数位的形式递增   
  23.     {  
  24.         //pow 函数求x的y次方,然后减去10.0再取绝对值看之差是否在10的-6次方以内以满足精度要求   
  25.         if(fabs(pow(x,x)-10.0)<0.000001)   
  26.         {  
  27.             printf("%.8lf\n",x);  
  28.             //break; //因为要求4舍5入所以多输出几个数字来做判断   
  29.         }   
  30.     }  
  31.     return 0;  
  32. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值