C/C++|小数的处理
题目1(此题用c++的小数表示方式显示):
如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
注意:只填写一个小数,不要写任何多余的符号或说明。
答案:2.506184
代码:
#include
#include
#include
using namespace std;
int main()
{
long double a=2.0,b=3.0,mid=1,aa,bb,cc=1.0;
//a-----mid-----b 。 aa, bb, cc存的是与 10.0的差值
while(fabs(cc)>1e-7)//答案要精确到 6 位小数,即误差要小于 1e-7
{
mid=(a+b)/2.0;
//二分的 mid
aa=pow(a,a)-10.0;
bb=pow(b,b)-10.0;
cc=pow(mid,mid)-10.0;
if(aa*cc < 0)//如果 aa * cc < 0 说明 aa是 < 0的 ,从而说明 aa < 10.0,即答案范围在 a~mid 中
b=mid;
else if (cc*bb < 0) //如果 cc * bb < 0 说明 cc是 < 0的 ,从而说明 cc < 10.0,答案范围在 mid~b 中
a=mid;
cc=pow(mid,mid)-10.0;
}
cout<
c++小数表示方式总结:
1.要有头文件#include
2.题目要求精确到6位小数,那么误差要小于1e-7
【C/C++|小数的处理】3.显示小数时:cout<
题目2(此题用c的小数表示方式表示):
无穷分数
无穷的分数,有时会趋向于固定的数字。
请计算【图1.jpg】所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0。
文章图片
请填写该浮点数,不能填写任何多余的内容。
答案:0.58198
#include
double fenshu(double n)
{
if(n==100)
return n;
return n/(n+fenshu(n+1));
} int main()
{
double ans=fenshu(1.0);
printf("%.5lf \n",ans);
return 0;
}
c小数表示方式总结:
printf("%.5f\n", ans);
//里面的 .5表示保留5位小数
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量