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;
     } 





  • 相关阅读:
    2. 替换空格
    1.二维数组中的查找
    《STL源码剖析》相关面试题总结
    STL详解
    java之Stack详细介绍
    ArrayList、LinkedList、Vector的区别
    记一次vue升级element-ui的体验
    nestJs项目打包部署的方法
    Echarts 图例 legend formatter 如何返回 html
    微信小程序echarts字体大小 真机和开发者工具不一致(太小)的解决办法
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6914352.html
Copyright © 2011-2022 走看看