NYOJ-111 分数加减法
来源:互联网 发布:淘宝网首页购物车 编辑:程序博客网 时间:2024/05/16 03:56
- 输入
- 输入包含多行数据
每行数据是一个字符串,格式是"a/boc/d"。
其中a, b, c, d是一个0-9的整数。o是运算符"+"或者"-"。
数据以EOF结束
输入数据保证合法 - 输出
- 对于输入数据的每一行输出两个分数的运算结果。
注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数 - 样例输入
1/8+3/81/4-1/21/3-1/3
- 样例输出
1/2-1/40
**1.分子为0
2.分子分母相等
3.分母为1
4.符号提出单独计算
#include <stdio.h>
int GCD(int a,int b){
int temp;
if(a==b)
return 1;
else if(a<b)
{
temp = a;
a = b;
b = temp;
}
while(a%b!=0)
{
temp = a;
a = b;
b = temp%b;
}
return b;
}
int main()
{
char s[10];
int fz,fm,yueshu;
while(scanf("%s",s)!=EOF)
{
fm = (s[2]-'0')*(s[6]-'0');
if(s[3]=='+')
fz = (s[0]-'0')*(s[6]-'0')+(s[2]-'0')*(s[4]-'0');
else
fz = (s[0]-'0')*(s[6]-'0')-(s[2]-'0')*(s[4]-'0');
if(fz==0)
{
printf("0\n");
}
else
{
if(fz<0)
{
printf("-");
fz = -fz;
}
if(fz==fm)
printf("1\n");
else
{
yueshu = GCD(fm,fz);
fz = fz/yueshu;
fm = fm/yueshu;
if(fm==1)
{
printf("%d\n",fz);
}else
printf("%d/%d\n",fz,fm);
}
}
}
return 0;
}
0 0
- NYOJ 111 分数加减法
- NYOJ,111,分数加减法
- NYOJ 111 分数加减法
- NYOJ-111-分数加减法
- NYOJ-111 分数加减法
- NYOJ 111 分数加减法
- nyoj-111-分数加减法
- nyoj 111 分数加减法
- nyoj 111 分数加减法
- nyoj 111 分数加减法
- NYOJ--111 分数加减法
- NYOJ 111 分数加减法
- NYOJ-111分数加减法
- 【NYOJ】[111]分数加减法
- nyoj 111分数加减法
- NYOJ-111 分数加减法
- NYOJ-111 分数加减法
- NYOJ 111 分数加减法
- 278. First Bad Version
- iOS开发——响应链(Responder Chain)的深入理解和代码示例(二)
- Shortest Word Distance
- “爱运动管理系统”诞生记(14)
- Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法
- NYOJ-111 分数加减法
- 168. Excel Sheet Column Title
- 绕圈跑*纪中*2390*数学方法/树状数组
- Linux下编译FFmpeg之下载源文件并编译
- 易语言代码统计源码
- C++实现大整数类及其读入、输出、加法、乘法运算
- jmeter-察看结果树-响应数据,中文显示乱码
- 线段树专题(二)
- 【搜商】程序员应该必备的10个搜索技巧 ,你知道几个?