----------------解决方案--------------------------------------------------------
x=num/denom;那x显然是0;
下面的if(x)就废了 直接从else 后面的开始就行
----------------解决方案--------------------------------------------------------
我稍微说一下吧
函数gcd()是用来求最大公约数.
num表示分子,denom表示分母.gcd是用来化简num/denom的,即约去其中的公因子
函数void f(int num,int denom,char *result)
这里num可以大于denom,也就是可以出现12/9的形式.
x是用来保存整数部分的.
所以说void f(int num,int denom,char *result)具有通用性.不一定分子就是1,你想设成多少就多少,只要传进函数就行了
----------------解决方案--------------------------------------------------------
以下是引用xpentium在2006-11-3 0:51:26的发言:
用java 编一个吧
基本思想:这个思想有点像十进制数求二进制数的过程,每商一个数都会得到一个相应的余数,当余数重复出现是,这时后面商的数肯定会与前面的一样,也就是开始循环了。
该思想是错误的.
----------------解决方案--------------------------------------------------------
麻烦问一下版主那个void len函数是作什么用的呢
----------------解决方案--------------------------------------------------------
void len(int de,int *len1,int *len2)
de表示分母
分别求的:
len1是延迟长度,即小数部分非循环部分长度
len2是循环节长度
----------------解决方案--------------------------------------------------------
哦 明白了 谢谢你
----------------解决方案--------------------------------------------------------