正文

化简分式(对小数有用)2005-09-10 09:59:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/4582.html

分享到:

#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;         }           } }        

阅读(15872) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册