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语言问题 指针数组 高手看看