当前位置: 代码迷 >> C语言 >> 请问一下有没有,小数化分数的代码?
  详细解决方案

请问一下有没有,小数化分数的代码?

热度:256   发布时间:2006-08-31 23:41:52.0
k=(int)m;
kd=(double)k;
while(m!=kd)
{m*=10;
j*=10;
k=(int)m;
kd=(double)k;
}
我后来改了。m和kd都是double型
----------------解决方案--------------------------------------------------------
/*小数化分数,非循环*/
#include<stdio.h>
#include<ctype.h>
#include<math.h>
double zdgys(double c,double d)
{double o,p;
o=1;p=1;
while(c/o!=d/p)
{while(c/o>d/p)
o++;
while(c/o<d/p)
p++;
}
while(c/o==d/p)
return (c/o);
}
main()
{ double m,im,j=1;
int l;
/* clrscr(); */
printf("Input decimal fraction:\n");
scanf("%f",&m);
im=floor(m);
while(m!=im)
{m*=10;
j*=10;
im=floor(m);
}
l=zdgys(m,j);
m=m/l;
j=j/l;
printf("The fenshu is %f,%f",m,j);
}
最新编的程序,能够通过编译,输入完数字之后,不出结果,但光标还在闪。请问问题可能出现在什么地方。
----------------解决方案--------------------------------------------------------
  相关解决方案