C语言:已知:f(1)=1,f(2)=1/(1+f(1)),f(3)=1/(1+f(2)),…,f(n)=1/(1+f(n-1)),求f(50)

按四舍五入的方式精确到小数点后第三位... 按四舍五入的方式精确到小数点后第三位 展开
 我来答
帐号已注销
2021-10-19 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:168万
展开全部

#include<stdio.h>

double f(int n)

if (n==1)

return 1.0;

else

return 1.0/(1.0+f(n-1));

void main()

printf("f(50)=%.3lf\n",f(50));

同型算法

四舍六入五成双是一种精确度的计数保留法。这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进。如1.25保留一位小数,因为2是偶数,所以是1.2。又如1.35,因为3是奇数,所以是1.4。

从统计学的角度,"四舍六入五成双"比"四舍五入"要科学,它使舍入后的结果有的变大,有的变小,更平均。而不是像四舍五入那样逢五就入,导致结果偏向大数。

Pretty_Mice
2011-05-14
知道答主
回答量:12
采纳率:0%
帮助的人:7.2万
展开全部
我用的是win-tc,你要是用tc2.0的话。可以将#include "conio.h"以及getch()去掉!
#include "stdio.h"
#include "conio.h"
double f(int n)
{
if(n==1)
return 1.0;
else return 1.0/(1+f(n-1));
}
void main()
{
printf("f(50)=%.3lf\n",f(50));
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
V亮剑
2011-05-14 · TA获得超过288个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:94万
展开全部
#include<stdio.h>

double func(int n)
{
if(n==1)
return 1;
else
return 1.0/(1+func(n-1));
}

void main(){

int n=50;
printf("%.3f\n",func(n));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiye200801
2011-05-14 · TA获得超过372个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:180万
展开全部
求f几就输入几。例如 50;
#include <stdio.h>
int main()
{
while(1)
{
int i,j;double f=1.0;

scanf("%d",&j);
for(i=2;i<=j;i++)
{
f=1/(1+f);
}
printf("%.3f\n",f);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2011-05-14 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4657万
展开全部
#include<stdio.h>
double f(int n)
{
if (n==1)
return 1.0;
else
return 1.0/(1.0+f(n-1));
}
void main()
{
printf("f(50)=%.3lf\n",f(50));
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式