#include <iostream.h>
#include <string.h>
int main()
{
char s[100];
while(cin>>s)
{
long a=0,b=0,i;
int pos=0;
int m=0,n=0;
while(s[pos]!='/')
pos++;
for(i=0;i<pos;i++)
{
if(s[i]=='.')
{
m=pos-i-1;
break;
}
}
for(i=pos+1;i<strlen(s);i++)
{
if(s[i]=='.')
{
n=strlen(s)-i-1;
break;
}
}
for(i=0;i<pos;i++)
if(s[i]!='.')
a=a*10+s[i]-'0';
for(i=pos+1;i<strlen(s);i++)
if(s[i]!='.')
b=b*10+s[i]-'0';
a=a*(int)pow(10,n);
b=b*(int)pow(10,m);
if(a==0)
cout<<"0"<<endl;
else if(b==0)
cout<<"error"<<endl;
else
{
int flag=a/b;
if(flag!=0) cout<<flag;
a=a%b;
if(a!=0)
{
for(i=2;i<=b;i++)
while(a%i==0 && b%i==0)
{
b=b/i;
a=a/i;
}
if(flag!=0)
cout<<"-";
cout<<a<<"/"<<b<<endl;
}
else
cout<<endl;
}
}
}
正文
化简分式(对小数有用)2005-09-10 09:59:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/elva6401/4582.html
阅读(4409) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论