1034. 有理数四则运算(20)
来源:互联网 发布:阿里云企业邮箱设置 编辑:程序博客网 时间:2024/05/20 16:35
#include<stdio.h> long gg(long x, long y) { x<0?x=-x:x=x; y<0?y=-y:y=y; long m=x%y; while(m) { x=y; y=m; m=x%y; } return y; } void printk(long a, long b) { bool flag=false; long gf=gg(a,b); if(a==0) { printf("0");return; } if(a<0) { printf("(-"); a=(-1)*a; flag=true; } if(a==b) printf("1"); else if(a>b) { a=a/gf; b=b/gf; if(a%b!=0) printf("%ld %ld/%ld",a/b,a%b,b); else printf("%ld",a/b); } else { a=a/gf; b=b/gf; printf("%ld/%ld",a,b); } if(flag) printf(")"); } int main(void) { long a1=0,b1=0,a2=0,b2=0; scanf("%ld/%ld %ld/%ld",&a1,&b1,&a2,&b2); //¼Ó long n=0,d=0; n=a1*b2+a2*b1; d=b1*b2; printk(a1,b1); printf(" + "); printk(a2,b2); printf(" = "); printk(n,d); printf("\n"); n=a1*b2-a2*b1; d=b1*b2; printk(a1,b1); printf(" - "); printk(a2,b2); printf(" = "); printk(n,d); printf("\n"); n=a1*a2; d=b1*b2; printk(a1,b1); printf(" * "); printk(a2,b2); printf(" = "); printk(n,d); printf("\n"); n=a1*b2; d=b1*a2; printk(a1,b1); printf(" / "); printk(a2,b2); printf(" = "); if(d==0) printf("Inf\n"); else { if(d<0) { n=-n; d=-d; } printk(n,d); printf("\n"); } return 0; }
0 0
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- swift中枚举的定义以及调用传值的小功能,
- java——io流FileWriter和FileReader
- 耳机串音问题解决(crosstalk)
- 1033. 旧键盘打字(20)
- (转)外边合并问题
- 1034. 有理数四则运算(20)
- python笔记
- 1036. 跟奥巴马一起编程(15)
- Effective Java-学习笔记(10-11章)
- ThinkPHP5.0-请求
- apk签名信息查看
- 1037. 在霍格沃茨找零钱(20)
- 12号c总结
- windows7下安装centos7系统或者单独装centos7