作业帮 > 综合 > 作业

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和.当然,依旧是使用C语

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/04 21:12:52
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和.当然,依旧是使用C语言
以下是我的代码,我想知道最后需不需要化简呢?最后结果是不是最简的?我的代码什么地方有问题啊?
还有啊,我需要最后用分数输出,而不是浮点数,long 原先是int,怕精度损失才改的,结果还是一样的,纠结啊,
//fraction
//num=numerator/den=denominator
#include
long add_fraction(long numa,long numb);
long gcd(long a,long b);
long lcd(long a,long b);
long num=0,den=1;
main()
{
long numa=2,dena=1;
long buf_den;
long gcd_of_frac;
/* int dena_1=1,denb_2=2;
*/
int i=0;
for(i=0;i
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和.当然,依旧是使用C语
下面是我运行了你的程序以后发现的错误,你自己看看改后能否符合你的要求:
第一,少了一个库函数“#include”这个是对应system(“pause”)的.
第二,函数long add_fraction(long numb,long denb)没有返回值,应该加一个return num;
第三,在求最大公约数的时候出现了问题,可以加入语句for(i=b;i>0;i--)if(a%i==0&&b%i==0)return i;