解题思路:通过观察题目所给出的1 2 3 5 8 13 21...可得出该数是斐波那契数,由斐波那契数列的递推公式Fn(n)=Fn(n-1)+Fn(n-2) (n>2);所以我们可以先定义一个浮点型的数组用来储存该数列,然后定义一个函数通过递推来求得每一项的值,利用循环赋值给数组;最后进行求解
注意事项:要求保留两位小数,因此数组与用来求和的sum需要用到浮点型来定义,同时在打印结果时也需要用%.2f来确保输出两位小数。
参考代码:
#include<stdio.h>
int feibonaqi(int x);
int main(void)
{
float arr[1000],sum;
int n,i;
scanf("%d",&n);
for(i=0;i<=n;i++) //求前n项时需要n+1个数
{
arr[i]=feibonaqi(i); //给数组进行赋值,函数传参。
}
for(i=0;i<n;i++)
{
float m;
m=arr[i+1]/arr[i];
sum=sum+m; //将每一项的值进行求和。
}
printf("%.2f",sum);
}
int feibonaqi(int x)
{
if(x==0)
{
return 1; //定义第一项的值为1
}
else if(x==1)
{
return 2; //定义第二项的值为2
}
else
{
return feibonaqie(x-1)+feibonaqie(x-2); //利用递归来求剩余每一项的值。
}
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:616 |
点我有惊喜!你懂得!浏览:2071 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:735 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:543 |
十->二进制转换 (C语言代码)浏览:1291 |
最小公倍数 (C语言代码)浏览:862 |
校门外的树 (C语言代码)浏览:692 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:681 |
1157题解浏览:711 |
K-进制数 (C语言描述,蓝桥杯)浏览:924 |