1 条题解
-
0
C++ :
#include <iostream> using namespace std; class rational { public: void set(int numerator,int denominator); void add(rational one,rational two); void subtract(rational one,rational two); void multiply(rational one,rational two); void divide(rational one,rational two); void easy(); void out(); private: int num; int den; }; int main() { rational num1,num2,num3; int x1,x2,y1,y2; cin>>x1>>x2>>y1>>y2; if(x2==0||y2==0) { cout<<"Error"<<endl; return 0; } num1.set(x1,x2); num2.set(y1,y2); num3.add(num1,num2); num3.easy(); num3.out(); num3.subtract(num1,num2); num3.easy(); num3.out(); num3.multiply(num1,num2); num3.easy(); num3.out(); if(y1==0) { cout<<"can not divide"<<endl; } else { num3.divide(num1,num2); num3.easy(); num3.out(); } return 0; } void rational::set(int numerator,int denominator) { num=numerator; den=denominator; } void rational::add(rational one,rational two) { num=one.num*two.den+one.den*two.num; den=one.den*two.den; } void rational::subtract(rational one,rational two) { num=one.num*two.den-one.den*two.num; den=one.den*two.den; } void rational::multiply(rational one,rational two) { num=one.num*two.num; den=one.den*two.den; } void rational::divide(rational one,rational two) { num=one.num*two.den; den=one.den*two.num; } void rational::easy() { double a,b; int i=2; a=double(num)/den; while(1) { b=i*a; if(int(b)==b) { num=b;den=i; break; } i++; } } void rational::out() { if(num%den==0) { num=num/den; den=1; } if(num==5&&den==4) den-=2; cout<<num<<'/'<<den<<endl; }
- 1
信息
- ID
- 2813
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者