您当前的位置:首页 > 互联网教程

求一份C语言代码,分数的四则运算

发布时间:2025-05-13 07:09:28    发布人:远客网络

求一份C语言代码,分数的四则运算

一、求一份C语言代码,分数的四则运算

分数实质就是小数,但是如果化成小数去结算可能会失去精度。

所以我们采用两个整数去表示分子和分母,假设分子用a表示,分母用b表示:

然后去化简,化简就是分子分母同时除于他们的最大公约数。

求最大公约数方法为:假设求 n和m的最大公

1、取绝对值n1=abs(n);m1=abs(m)

2、保证n的绝对值大于m的绝对值,如果n的绝对值小于m的绝对值,则n和m交换(交换代码省略)

二、C语言实例 将真分数分解为埃及分数

1、分子为1的分数称为埃及分数,现输入一个真分数,请将该分数分解为埃及分数。

2、若真分数的分子a能整除分母b,则真分数经过化简就可以得到埃及分数,若真分数的分子不能整除分母,则可以从原来的分数中分解出一个分母为b/a+1的埃及分数。用这种方法将剩余部分反复分解,最后可得到结果。

3、/*注:对源程序作稍许修改,主要是添加了一个外循环,可以直接计算多个真分数的埃及分数,按Ctrl-C退出。具体的算法我没有认真看,有问题请提出,谢谢*/

4、printf("Please enter a optional fraction(a/b):");

5、scanf("%ld/%ld",a,b);/*输入分子a和分母b*/

6、printf("It can be decomposed to:");

7、c=b/a+1;/*则分解出一个分母为b/a+1的埃及分数*/

8、else{ c=b/a; a=1;}/*否则,输出化简后的真分数(埃及分数)*/

9、if(a==3)/*若余数为3,输出最后两个埃及分数*/

10、{ printf("1/%ld+ 1/%ld\n",b/2,b); break;}

11、Please enter a optional fraction(a/b): 1/6

12、Please enter a optional fraction(a/b): 20/33

13、It can be decomposed to: 1/2+1/10+1/165

14、Please enter a optional fraction(a/b): 10/89

15、It can be decomposed to: 1/9+1/801

16、Please enter a optional fraction(a/b): 19/99

17、It can be decomposed to: 1/6+1/40+1/3960

18、Please enter a optional fraction(a/b): 8/87

19、It can be decomposed to: 1/11+1/957