可以参考下面的代码:
#include
main()
{
int i,j,n=20;
int fz=2,fm=1;
float sum=2;
for(i=2;i<=n;i++)
{
fz=fm+fz;
fm=fz-fm;
sum+=fz*1.0/fm;
}
printf("%f",sum);
}
扩展资料:
strcpy()函数:字符串复制(拷贝)函数
strlen()函数:求字符串的长度
strcspn():求字符串互补跨度(长度)
strcmp()函数:比较两个字符串
strchr()函数:字符查找函数
ldiv()函数:求两个数的商和余数(针对long类型)
ceil()函数:求不小于x的最小整数(向上取整)
floor()函数:求不大于x的最大整数(向下取整)
参考资料来源:百度百科-C语言函数
#include
int main()
{
int i = 2; //分母初始为2
int j = 1; //分子初始为1
int k = 0; //循环20次的变量
int tmp = 0; //保存分子的临时变量
float sum = 0; // 求和
for(k=0;k<19;k++) //循环20次
{
sum = sum + (float)i/j; //开始累加
tmp = j; //存放分子临时变量
j = i;//分子的值等于上次分母的值
i = i + tmp; //分母的值为上次分子和分母的和
printf("下一个数:%d/%d\n", i,j); //打印出下一个要累计的书
}
printf("sum=%0.2f\n", sum); //打印和
return 0;
}
#include
main()
{
int i,j,n=20;
int fz=2,fm=1;
float sum=2;
for(i=2;i<=n;i++)
{
fz=fm+fz;
fm=fz-fm;
sum+=fz*1.0/fm;
}
printf("%f",sum);
}
您好,很高兴为您解答,流星不死为您答疑解惑
如果本题还有不懂的地方请追问,望采纳我的回答。
祝楼主学习进步。
上面的代码可以直接复制到编译器里,带换行。
1 + 2 1 和 2 是分子的基数,1+2 =3 ,2+3 = 5 ,3 + 5 = 8 ... 依次递增
— —
2 + 3 2 和 3 是分母的基数,2+3 =5 ,3+5 = 8 ,5 + 8 = 13 ... 依次递增
#include
int main()
{
int i;
double numerator=2.0,denominator=1.0;//分子分母初始化,为保证除完为浮点数定义为双精度类型
double sum=0.0;
for(i=1;i<=20;i++)
{//循环累加每一项
sum+=numerator/denominator;//也可写成sum=sum+numerator/denominator;
numerator=numerator+denominator;
denominator=numerator-denominator;
}
printf("sum=%f",sum);
return 0;
}