题目描述
Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始化了起来,但小数很多,手工化起来很费劲,请你写一个程序把一个纯小数(0<=纯小数<1)化成最简分数。
样例输入
3 0.5 0.128 0.36
样例输出
1/2 16/125 9/25
#include <stdio.h>
#include <math.h>
int gcd(int n,int m)
{
int temp;
while(m!=0)
{
temp=m;
m=n%m;
n=temp;
}
return n;
}
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
char num[10]={0};
int cnt=0,snum=0;
scanf("%s",num);
for(j=2;num[j];j++)
{
snum=snum*10+(num[j]-'0');
cnt++;
}
int cd=gcd(snum,pow(10,cnt));
int bnum=pow(10,cnt);
printf("%d/%d\n",snum/cd,bnum/cd);
}
return 0;
}