有一分数序列: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 i=0;
for(i=0;i
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和.当然,依旧是使用C语
答案:1 悬赏:40 手机版
解决时间 2021-08-16 00:32
- 提问者网友:沉默的哀伤
- 2021-08-15 07:05
最佳答案
- 五星知识达人网友:封刀令
- 2021-08-15 08:33
下面是我运行了你的程序以后发现的错误,你自己看看改后能否符合你的要求:
第一,少了一个库函数“#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;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯