解题思路:
1.首先宏定义N作为数组长度,所输入的n需要小于等于N(N的值可以根据数据大小调整)。
2.数组前两项自行赋值。
3.利用for循环求斐波那契数列各项的值( a[i]=a[i-1]+a[i-2]),并求和将值赋予s。
4.输出s的数值。
注意事项:
此类型程序最重要的是数据的类型及运算后数据类型的处理,本题目中s设置为双精度浮点型,
数据相除时要乘1.0将类型转化为浮点型。
参考代码:
#include<stdio.h>
#define N 500
int main()
{
int i,n,a[N];
double s=2;
scanf("%d",&n);
a[0]=1;
a[1]=2;
for(i=2;i<=n;i++)
{
a[i]=a[i-1]+a[i-2];
s+=a[i]*1.0/a[i-1];
}
printf("%.2lf\n",s);
}
0.0分
5 人评分
【亲和数】 (C语言代码)浏览:495 |
简单的a+b (C++语言代码)浏览:860 |
C语言训练-求PI* (C语言代码)浏览:614 |
本人酷爱递归实现很多问题,这里也是浏览:557 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
printf基础练习2 (C语言代码)浏览:748 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:546 |
C语言训练-8除不尽的数 (C语言代码)浏览:1402 |
1392题解(大数相加)浏览:604 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:471 |