1 #include<stdio.h> 2 #include<stdlib.h> 3 //求最大公约数 4 int f(int a,int b) 5 { 6 if(a%b==0) return b; 7 return f(b,a%b); 8 } 9 //将一个小数num转换成分数,fz表示分子,fm表示分母 10 void fun(double num,int *fz,int*fm) 11 { 12 *fm=1; 13 while(num!=(int)num){*fm*=10;num*=10;} 14 *fz=(int)num; 15 int t=f(*fz,*fm); 16 *fz/=t; 17 *fm/=t; 18 } 19 int main() 20 { 21 double num=3.25; 22 int a,b; 23 while(1){ 24 scanf("%lf",&num); 25 fun(num,&a,&b); 26 printf("== %d/%d\n\n",a,b); 27 } 28 system("pause"); 29 return 0; 30 }
转载于:https://www.cnblogs.com/dzqdzq/archive/2013/05/06/3062849.html