本题要求编写程序,计算2个有理数的和、差、积、商。

输入格式:

输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。

输出格式:

分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式“k a/b”,其中k是整数部分,a/b是最简分数部分;若为负数,则须加括号;若除法分母为0,则输出“Inf”。题目保证正确的输出中没有超过整型范围的整数。

输入样例1:

2/3 -4/2

输出样例1:

2/3 + (-2) = (-1 1/3)
2/3 - (-2) = 2 2/3
2/3 * (-2) = (-1 1/3)
2/3 / (-2) = (-1/3)

输入样例2:

5/3 0/6

输出样例2:

1 2/3 + 0 = 1 2/3
1 2/3 - 0 = 1 2/3
1 2/3 * 0 = 0
1 2/3 / 0 = Inf
 #include<stdio.h>
int gong(long long a,long long b)
{
long long r,min,max;
min=(a>b)?b:a;
max=(a>b)?a:b;
r=max%min;
while(r)
{
max=min;
min=r;
r=max%min;
}
return min;
}
void print(long long a,long long b)
{
long long flag=,c,d,e;
if(a<){
a=-a;
flag=;
}
if(a==) printf("");
else{
e=gong(a,b);
a/=e;
b/=e;
c=a/b;
d=a%b;
if(flag==){
if(d==) printf("%lld",c);
else{
if(c==) printf("%lld/%lld",a,b);
else printf("%lld %lld/%lld",c,d,b);
}
}
else{
if(d==) printf("(-%lld)",c);
else{
if(c==) printf("(-%lld/%lld)",a,b);
else printf("(-%lld %lld/%lld)",c,d,b);
}
}
}
}
void add(long long a1,long long b1,long long a2,long long b2)
{
print(a1,b1);
printf(" + ");
print(a2,b2);
printf(" = ");
print(a1*b2+a2*b1,b1*b2);
printf("\n");
}
void minus(long long a1,long long b1,long long a2,long long b2)
{
print(a1,b1);
printf(" - ");
print(a2,b2);
printf(" = ");
print(a1*b2-a2*b1,b1*b2);
printf("\n");
}
void muilt(long long a1,long long b1,long long a2,long long b2)
{
print(a1,b1);
printf(" * ");
print(a2,b2);
printf(" = ");
print(a1*a2,b1*b2);
printf("\n");
}
void divide(long long a1,long long b1,long long a2,long long b2)
{
print(a1,b1);
printf(" / ");
print(a2,b2);
printf(" = ");
if(a2==) printf("Inf\n");
else{
if(a2<){
a2=-a2;
a1=-a1;
}
print(a1*b2,b1*a2);
printf("\n");
}
}
int main()
{
long long a1,b1,a2,b2;
while(~scanf("%lld/%lld %lld/%lld",&a1,&b1,&a2,&b2))
{
add(a1,b1,a2,b2);
minus(a1,b1,a2,b2);
muilt(a1,b1,a2,b2);
divide(a1,b1,a2,b2);
}
return ;
}

PAT乙级1034. 有理数四则运算(20)的更多相关文章

  1. PAT Basic 1034 有理数四则运算(20) [数学问题-分数的四则运算]

    题目 本题要求编写程序,计算2个有理数的和.差.积.商. 输⼊格式: 输⼊在⼀⾏中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分⼦和分⺟全是整型范围内的整数, ...

  2. PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)

    PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)  http://www.patest.cn/contests/pat-b-practise/1034 ...

  3. PAT 1034 有理数四则运算(20)(代码框架+思路+测试点错误分析)

    1034 有理数四则运算(20)(20 分)提问 本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的 ...

  4. PAT-乙级-1034. 有理数四则运算(20)

    1034. 有理数四则运算(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求编写程序,计算2个有理 ...

  5. PAT(B) 1034 有理数四则运算(Java)

    题目链接:1034 有理数四则运算 (20 point(s)) 题目描述 本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数 ...

  6. PAT 1034. 有理数四则运算(20)

    本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只 ...

  7. 1034 有理数四则运算 (20 分)C语言

    题目描述 本题要求编写程序,计算2个有理数的和.差.积.商. 输入描述: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整 ...

  8. P 1034 有理数四则运算

    转跳点:

  9. PAT1034 有理数四则运算 (20分)

    1034 有理数四则运算 (20分)   本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全 ...

随机推荐

  1. 【编程范式】C语言1

    最近在网易公开课上看斯坦福大学的<编程范式>,外国人讲课思路就是清晰,上了几节课,感觉难度确实比我们普通大学大很多,但是却很有趣,让人能边学边想. 范式编程,交换两个数,利用 void * ...

  2. C++ 动态库导出函数名“乱码”及解决

    C++ 动态库导出函数名“乱码”及解决 刚接触C++,在尝试从 dll 中导出函数时,发现导出的函数名都“乱码”了. 导出过程如下: 新建一个Win32项目: 新建的解决方案里有几个导出的示例: // ...

  3. 译文:User-agent的历史

      这是一篇译文,译文出处在文章底部贴出.由于技术水平,英语水平,翻译水平有限,请各路大侠多多指正,谢谢,提高你也提高我:)   几个礼拜之前,我谈论了特征检测和浏览器检测.这篇帖子提到了一点点嗅探U ...

  4. kindeditor图片上传 struts2实现

    一.kindeditor以及struts2部署搭建不再赘述,如需要请参考kindeditor使用方法 Struts2框架搭建 二.kindeditor图片上传所依赖jar包在kindeditor\js ...

  5. 依赖注入(IOC)二

    依赖注入(IOC)二 上一章我们讲了构造注入与设值注入,这一篇我们主要讲接口注入与特性注入. 接口注入 接口注入是将抽象类型的入口以方法定义在一个接口中,如果客户类型需要获得这个方法,就需要以实现这个 ...

  6. JavaScript中变量声明有var和没var的区别

    JavaScript中变量声明有var和没var的区别 JavaScript中有var和没var的区别 Js中的变量声明的作用域是以函数为单位,所以我们经常见到避免全局变量污染的方法是 (functi ...

  7. kivy Create an application

    http://kivy.org/docs/guide/basic.html#quickstart I followed this tutorial about how to create basic ...

  8. hdu-4471-Homework-矩阵快速幂+优化加速

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4471 题目意思: 求f(n). 当n为特殊点nk时 解题思路: 当x不为特殊点时,直接用基本的矩阵快 ...

  9. POJ 3900 The Robbery

    大意:和背包的问题相似,第 i 个箱子有 i 颗钻石.钻石的重量,价值给出.然后再M的重量下背尽量多价值的钻石. 思路:直接暴搜然后剪枝.因为数据范围的原因无法用DP. #include <cs ...

  10. yum局域网软件源搭建

    之前的Demo算是告一段落了,期末的各种考试报告也结束了. 暑假的一项任务就是和其他几个同学一起,在若干台服务器上安装openstack,虚拟出更多的机器,对各种分布式/并行数据分析平台进行测试. 目 ...