当前位置:编程学习 > C/C++ >>

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)

按四舍五入的方式精确到小数点后第三位
答案:#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));
}
其他:#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));
} 求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;
} #include<stdio.h>
double f(int);
int main(void)
{
	int n;
	double m;
	scanf("%d",&n);
	m=(f(n)*1000+0.5)/1000;
	printf("%.3lf\n",m);
	return 0;
}
double f(int n)
{
	if(n==1)return 1;
	else return 1/(1+f(n-1));
} 我用的是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();
}

上一个:C语言 数组 错哪里了啊 谢谢
下一个:c语言问题 指针数组 高手看看

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,