poj3979
来源:互联网 发布:东方财富网 mac 编辑:程序博客网 时间:2024/06/05 23:40
#include<iostream>
#include<string>
#define SIZE 4
using namespace std;
int gcd( int m,int n )
{
m = (m>=0)?m:(-1*m);
n = (n>=0)?n:(-1*n);
int temp;
if (m<n){
temp = m;
m = n;
n = temp;
}
if (m%n == 0){
return n;
}
else{
return gcd (n,m%n) ;
}
}
int main(void){
int a[SIZE];
char ch;
string s;
while(cin>>s){
for(int k=0;k<SIZE;k++)
a[k] = 0;
int x = 0;
for(int i=0;i<s.length();i++){
if(s.at(i) == '/') {
x++;
}
if(s.at(i) == '+' || s.at(i) == '-') {
x++;
ch = s.at(i);
}
if(s.at(i) >= '0' &&s.at(i) <= '9') {
a[x] = a[x]*10 + (s.at(i)-'0');
}
}
int fenmu = a[1]*a[3];
int fenzi = 0;
if(ch == '-'){
fenzi = a[0] *a[3] - a[1]*a[2];
}else{
fenzi = a[0] *a[3] + a[1]*a[2];
}
//化简
if(fenzi == 0)
cout<<"0"<<endl;
else if(fenzi%fenmu==0){
cout<<fenzi/fenmu<<endl;
}
else
{
int gcds = gcd(fenzi,fenmu);
fenzi /= gcds;
fenmu /= gcds;
// cout<<"gcds"<<gcds<<endl;
if(fenzi * fenmu >0){
fenzi = (fenzi>=0)?fenzi:(-1*fenzi);
fenmu = (fenmu>=0)?fenmu:(-1*fenmu);
cout<<fenzi<<"/" <<fenmu<<endl;
}
else if(fenzi * fenmu <0){
fenzi = (fenzi>=0)?fenzi:(-1*fenzi);
fenmu = (fenmu>=0)?fenmu:(-1*fenmu);
cout<<"-"<< fenzi << "/" <<fenmu<<endl;
}
}
}
// system("pause");
return 0;
}
#include<string>
#define SIZE 4
using namespace std;
int gcd( int m,int n )
{
m = (m>=0)?m:(-1*m);
n = (n>=0)?n:(-1*n);
int temp;
if (m<n){
temp = m;
m = n;
n = temp;
}
if (m%n == 0){
return n;
}
else{
return gcd (n,m%n) ;
}
}
int main(void){
int a[SIZE];
char ch;
string s;
while(cin>>s){
for(int k=0;k<SIZE;k++)
a[k] = 0;
int x = 0;
for(int i=0;i<s.length();i++){
if(s.at(i) == '/') {
x++;
}
if(s.at(i) == '+' || s.at(i) == '-') {
x++;
ch = s.at(i);
}
if(s.at(i) >= '0' &&s.at(i) <= '9') {
a[x] = a[x]*10 + (s.at(i)-'0');
}
}
int fenmu = a[1]*a[3];
int fenzi = 0;
if(ch == '-'){
fenzi = a[0] *a[3] - a[1]*a[2];
}else{
fenzi = a[0] *a[3] + a[1]*a[2];
}
//化简
if(fenzi == 0)
cout<<"0"<<endl;
else if(fenzi%fenmu==0){
cout<<fenzi/fenmu<<endl;
}
else
{
int gcds = gcd(fenzi,fenmu);
fenzi /= gcds;
fenmu /= gcds;
// cout<<"gcds"<<gcds<<endl;
if(fenzi * fenmu >0){
fenzi = (fenzi>=0)?fenzi:(-1*fenzi);
fenmu = (fenmu>=0)?fenmu:(-1*fenmu);
cout<<fenzi<<"/" <<fenmu<<endl;
}
else if(fenzi * fenmu <0){
fenzi = (fenzi>=0)?fenzi:(-1*fenzi);
fenmu = (fenmu>=0)?fenmu:(-1*fenmu);
cout<<"-"<< fenzi << "/" <<fenmu<<endl;
}
}
}
// system("pause");
return 0;
}
0 0
- poj3979
- poj3979
- POJ3979
- 分数加减法(POJ3979)
- poj3979 分数加减法
- POJ3979 分数加减法
- 北大ACM poj3979 分数加减法
- poj3979 分数加减 水题 欧几里得
- poj3979——分数化简
- 具有类体的enum poj3979
- 关于php查询MySQL数据库的小细节
- C++输入一行字符串的一点小结
- android获得手机照片,摄像,拍照,录音等功能并将其转为字符串
- OCP 1Z0 053 144
- OpenVPN多处理之-多队列TUN多线程
- poj3979
- 跳过权限表启动mysql不用密码
- android App Widgets
- Unity3D 声音格式及导入
- C#实现的bp神经网络并应用于综合评价
- No protocol specified
- OpenUI5 - SAP开源中的移动大战略
- 编程之美hiho一下求最长回文串的长度
- 基于IOS的FTP详解(五)删除文件或者目录