正文

小数转化成分数的两个算法2006-07-30 02:26:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/petibo/16986.html

分享到:

我自己的:#include <stdio.h>#define M 10000int main(){      int n,m,r;      float f;      printf("f=");      scanf("%f",&f);      n=(int)(f*M);  //分子;      m=M;     //分母;      printf("%f=%d/%d\n",f,n,M);      r=m%n;  //计算分子分母的最大公约数;      while(r)      {  m=n;   n=r;   r=m%n;  }      r=n;      n=(int)(f*M),n/=r;   //分数化简;      m=M/r;      printf("%f=%d/%d\n\n",f,n,m);      system("PAUSE");      return 0;} /*END*/euclid的:#include <stdio.h>#include <math.h>int main (void){    int n = 1, m = 2;    float x, d;    d = 0.001;     /* d是精确度 */    printf ("float:");    scanf ("%f", &x);    while (fabs(1.0*n/m - x) >= d) {        if (x < 1.0 * n/m) m++;        else if (x > 1.0 * n/m) n++;        else break;    }    printf ("=%d/%d\n", n, m);    return 0;}/*END*/

阅读(4206) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册