本题要求编写程序,计算两个有理数的和。

输入格式:

输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。

输出格式:

在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。

输入样例1:

  1. 1/3 1/6

输出样例1:

  1. 1/2

输入样例2:

  1. 4/3 2/3

输出样例2:

  1. 2
  1. #include<stdio.h>
  2. int main(){
  3. int a1,a2,b1,b2;
  4. scanf("%d/%d%d/%d", &a1, &b1, &a2, &b2);
  5. int i;
  6. int x, y;
  7. x = a1*b2 + a2*b1;
  8. y = b1*b2;
  9. for(i=x-1; i>1; i--){
  10. if(x%i==0 && y%i==0){
  11. x = x / i;
  12. y = y / i;
  13. }
  14. }
  15. if(y==1){
  16. printf("%d", x);
  17. }
  18. else
  19. printf("%d/%d", x, y);
  20. return 0;
  21. }