0。25 -- > 25/100 -> 1/4 ..
不用考虑循环吧。
0。33333333又不是0.3333333333333333333.................................?
呵呵。。
谢谢,你看这个有什么问题? 可以通过,但最后"killing process"
#include<stdio.h>
#include<ctype.h>
main()
{char ch[30];
double m;
int k,j=1;
clrscr();
printf("Input decimal fraction:\n");
scanf("%f",&m);
k=getint(m);
while(m!=k)
{m*=10;
k*=10;
j*=10;
}
m=m/zdgys(m,j);
j=j/zdgys(m,j);
printf("The fenshu is %d/%d",m,j);
}
int getint(double a)
{int l;
l=(int)a;
return l;
}
zdgys(int c,int 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);
}