分数加减法(P3979)
来源:互联网 发布:方维p2p网贷系统源码 编辑:程序博客网 时间:2024/04/30 18:04
#include<iostream>#include<cstdio>#include<cstring> #include<algorithm> #include<queue>#include<cstdlib>using namespace std; #define N 6int gcd(int a,int b){if (a<b)swap(a,b);if (a%b)return gcd(b,a%b);return b;}int main(){freopen("fuck.txt","r",stdin);char go[100];while (scanf("%s",go)==1){//cout<<"fdkj"<<endl;int a=go[0]-'0';int c=go[2]-'0';int b=go[4]-'0';int d=go[6]-'0';//cout<<a<<' '<<b<<' '<<c<<' '<<d<<endl;if (go[3]=='+'){a*=d;//cout<<a<<' ';b*=c;//cout<<b<<' ';a+=b;//cout<<a<<' ';c*=d;//cout<<c<<' ';b=gcd(a,c);//cout<<b<<' ';if (a%c==0)cout<<a/c<<endl;elsecout<<a/b<<'/'<<c/b<<endl;}else{a*=d;b*=c;a-=b;c*=d;if (a!=0)b=gcd(abs(a),c);if (abs(a)%c==0)cout<<a/c<<endl;elsecout<<a/b<<'/'<<c/b<<endl;}}return 0;}
分数加减法
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9628 Accepted: 3090
Description
编写一个C程序,实现两个分数的加减法
Input
输入包含多行数据
每行数据是一个字符串,格式是"a/boc/d"。
其中a, b, c, d是一个0-9的整数。o是运算符"+"或者"-"。
数据以EOF结束
输入数据保证合法
每行数据是一个字符串,格式是"a/boc/d"。
其中a, b, c, d是一个0-9的整数。o是运算符"+"或者"-"。
数据以EOF结束
输入数据保证合法
Output
对于输入数据的每一行输出两个分数的运算结果。
注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数
注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数
Sample Input
1/8+3/81/4-1/21/3-1/3
Sample Output
1/2-1/40
Source
- 分数加减法(P3979)
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- 分数加减法
- Oracle CHAR,VARCHAR,VARCHAR2,nvarchar类型的区别与使用
- Python学习--不变的HelloWorld
- 签名档嵌入方法
- 让java程序在Linux后台运行
- Eclipse中安装SWT
- 分数加减法(P3979)
- 20.windbg-.dump(转储文件)
- js 进一法取正、四舍五入法取正、舍去法取正
- 互斥与同步
- 64位服务器安装64位oracle相关问题集
- System.currentTimeMillis() 一个计时方法
- digital output (alsa)相关说明
- 云计算:中兴通讯的“新引擎”
- 云计算是一种商业模式 未来将无处不在