关于C语言方面的一道题

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:43:07
这道题,我算了半天也没搞懂
题目是这样的:
有一分数序列
2/1,3/2,5/3,8/5,13/8,21/13,…
求出这个数列的前20项之和
我按照你们打出来的式子都算了,都是错的。。。你们写详细写清楚点好不好,我现在追加10分,等算对了,我就在追30分。

楼主你好~~!!
这道题帮你算出来了,经上机验证绝对正确~~!
代码如下:
#include<stdio.h>
main()
{ int n,i; float p,q,r,sum=0;
p=2;q=1;
printf("enter n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{ r=p/q;p=p+q;
q=p-q;sum=sum+r;}
printf("%5.2f",sum);
} 该程序可以求数列的前n项和,n由键盘扫入~~!p=p+q;q=p-q是控制数列变化滴。自己好好体会下吧~~!

昏, 犯低级错误了, 这回OK, 结果就是楼上诸位所说的32.660261, 如果楼主要的是精确数字的话偶就无法了:

#include <stdio.h>

inline void Swap(double* lhs, double* rhs)
{
double tmp = *lhs;
*lhs = *rhs;
*rhs = tmp;
}

int main()
{
double val1 = 2, val2 = 1;
double sigema = 0;

for(int i = 0; i < 20; ++i)
{
sigema += val1 / val2;
Swap(&val1, &val2);
val1 += val2;
}

printf("%f", sigema);
}

#include <stdio.h>
main()
{
float sum=0;
int a=2,b=1;
int i,