蓝桥杯 历届试题 x的X次幂
2016-03-14 20:37
225 查看
如果x的x次幂结果为10,你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
需要用到的函数fabs(double x),求x的绝对值;pow(x,y),求x^y的值
答案:2.506184
[cpp] view
plain copy
#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;
}
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
需要用到的函数fabs(double x),求x的绝对值;pow(x,y),求x^y的值
答案:2.506184
[cpp] view
plain copy
#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;
}
相关文章推荐
- VOIP学习
- 泉水.
- Android 图标上面添加提醒(一)使用Canvas绘制
- 初涉软件工程的感想及对程序设计的总结
- 标题:吃一碗荠菜馄饨,享受阳光的味道
- 扫盲贴--关于IP地址那点事儿
- php逐行读取文件数据
- I'll play a trick on you
- Samba常用配置及GUEST访问
- 二分图强连通分量 tarjan 模板
- Swift--UINavigationController
- Hdu---1010
- SharePoint2013 IT Professional - 介绍Alternate Access Mappings
- 设计模式之概述
- ATOM特效显示
- 每周总结
- 深入分析 Java 中的中文编码问题 (文章来自网络)
- Combination Sum
- C++中 容易忽视的const 修饰符
- 构建之法--软件工程学习随笔之二