zoukankan      html  css  js  c++  java
  • 7-6 有理数加法

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

    输入格式:

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

    输出格式:

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

    输入样例1:

    1/3 1/6
    
     

    输出样例1:

    1/2
    
     

    输入样例2:

    4/3 2/3
    
     

    输出样例2:

    2
    
     
    #include<stdio.h>
    
    int gcd(int a,int b)
    {	
    	int temp;
    	if(a>b){
    	
    	 temp=a;
    	 a=b;
    	 b=temp;
    }
    	while(a!=0){
    		temp=a;
    		a=b%a;
    		b=temp;
    	}
    	return b;
    
    }//用来求最小公约数 
    
    	struct num{
    		int a[3];
    		int b[3];
    		double sum;
    	};
    
    	int main(){
    		struct num n;
    		int i;
    		scanf("%d/%d%d/%d",&n.a[0],&n.b[0],&n.a[1],&n.b[1]);
    		n.a[2]=n.a[0]*n.b[1]+n.a[1]*n.b[0];
    		n.b[2]=n.b[0]*n.b[1];
    		i=gcd(n.a[2],n.b[2]); //i为最小公约数 
    		if(n.a[2]%n.b[2]==0)
    			printf("%d",n.a[2]/i); //分母为1时 
    		else{
    			printf("%d/%d",n.a[2]/i,n.b[2]/i);
    		}
    		 
    	}
    
     
  • 相关阅读:
    史上最强验证
    Yii2 return redirect()
    一次线上问题引发的思考
    一次前端体验优化
    RSA For PHP
    判断是否字符串是否是JSON
    过滤Xss
    Yii2 中日志的记录
    Yii2 中禁用csrf校验
    开始。
  • 原文地址:https://www.cnblogs.com/rebloom000/p/12907991.html
Copyright © 2011-2022 走看看