zoukankan      html  css  js  c++  java
  • 分数加减法

    分数加减法

    时间限制:3000 ms  |  内存限制:65535 KB

    难度:2

    描写叙述

    编写一个C程序,实现两个分数的加减法

    输入

    输入包括多行数据
    每行数据是一个字符串,格式是"a/boc/d"
    当中a, b, c, d是一个0-9的整数。o是运算符"+"或者"-"

    数据以EOF结束
    输入数据保证合法

    输出

    对于输入数据的每一行输出两个分数的运算结果。
    注意结果应符合书写习惯。没有多余的符号、分子、分母,而且化简至最简分数

    例子输入

    1/8+3/8

    1/4-1/2

    1/3-1/3

    例子输出

    1/2

    -1/4

    0

    代码1:

    #include<stdio.h>
    int main(void)
    {
    	int x,y,x1,y1;
    	char o;
    	while(scanf("%d/%d%c%d/%d",&x,&y,&o,&x1,&y1)!=EOF)
    	{
    		int x2,y2;
    		y2=y*y1;
    		if(o=='+')
    		  x2=x*y1+x1*y;
    		else
    		  x2=x*y1-x1*y;
    		int max=x2>y2?x2:y2;
    		for(int i=2;i<=max/2;i++)
    		{
    			if(x2%i==0&&y2%i==0)
    			{
    				x2=x2/i;
    				y2=y2/i;
    				i=2;
    			}
    		}
    		if(x2==0)
    		  printf("%d
    ",x2);
    		else if(x2%y2==0)
    		   printf("%d
    ",x2/y2);
    		else
    		   printf("%d/%d
    ",x2,y2);
    	}
    	return 0;
    }


    代码2:

    #include<stdio.h>
    int main(void)
    {
    	char ch[7];
    	int a,b,c,d,m,n,s,t,r;
    	while(scanf("%s",ch)!=EOF)
    	{
    		b=ch[2]-'0';
    		d=ch[6]-'0';
    		if(b!=d)
    		{
    			if(b>d)
    			{
    				t=b;
    				b=d;
    				d=t;
    			}
    			m=b;
    			while(m%d!=0)
    			   m=m+b;
    		}
    		else
    		    m=b;
    		a=m*(ch[0]-'0')/(ch[2]-'0');
    		c=m*(ch[4]-'0')/(ch[6]-'0');
    		if(ch[3]=='+')
    		  n=a+c;
    		if(ch[3]=='-')
    		  n=a-c;
    		t=m;
    		if(n<0)
    		  s=-n;
    		else
    		  s=n;
    		printf("%d  %d  %d   %d   
    ",m,s,a,c);
    		while(s!=0)
    		{
    			r=t%s;
    			t=s;
    			s=r;
    		}
    		if((m/t)==1)
    		   printf("%d
    ",n/t);
    		else
    		   printf("%d/%d
    ",n/t,m/t);
    	}
    	return 0;
     } 





  • 相关阅读:
    涨知识| 在国内,如何顺利使用谷歌(转)
    css3网站收集
    淘宝客 新内容
    淘宝客工作计划
    淘宝客笔记
    java并发编程
    代理模式之远程代理
    动态代理
    模板方法模式
    Spring整合web开发
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6914352.html
Copyright © 2011-2022 走看看