解题思路:通过观察题目所给出的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语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:605 |
矩形面积交 (C语言代码)浏览:1515 |
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:390 |
简单的a+b (C语言代码)浏览:677 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:557 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:682 |
DNA (C语言代码)浏览:540 |
简单的a+b (C语言代码)浏览:631 |
C语言程序设计教程(第三版)课后习题8.2 (C++代码)浏览:661 |
C语言训练-求具有abcd=(ab+cd)2性质的四位数 (C语言代码)浏览:912 |