编写c++程序实现比较两个分数大小的功能。要求:调用函数先比较两个数的分母,分母相同比较分子;否则通分

编写c++程序实现比较两个分数大小的功能。要求:调用函数先比较两个数的分母,分母相同比较分子;否则通分,第1张

#include <iostream>

using namespace std

typedef struct fraction//分数

{

int flag//符号

int numerator//分子

int denominator//分母

}

int cmpFraction(fraction a,fraction b)

void main()

{

int rst

fraction a,b

cout<<"请输入分数a的分母:"

cin>>a.denominator

cout<<"请输入分数a的分子:"

cin>>a.numerator

cout<<"请输入分数a的符号(1或者-1):"

cin>>a.flag

cout<<"请输入分数b的分母:"

cin>>b.denominator

cout<<"请输入分数b的分子:"

cin>>b.numerator

cout<<"请输入分数b的符号(1或者-1):"

cin>>b.flag

rst=cmpFraction(a,b)

if(rst<0)

cout<<"a<b"<<endl

else if(rst==0)

cout<<"a=b"<<endl

else

cout<<"a>b"<<endl

}

int cmpFraction(fraction a,fraction b)

{

int rst=0

if(a.denominator==0||b.denominator==0)

{

cout<<"数据错误,无法比较!"<<endl

return 0

}

if(a.denominator!=b.denominator)

{

a.numerator*=b.denominator

b.numerator*=a.denominator

}

if((a.numerator*a.flag)<(b.numerator*b.flag))

rst=-1

else if((a.numerator*a.flag)>(b.numerator*b.flag))

rst=1

return rst

}

import java.io.BufferedReader

import java.io.IOException

import java.io.InputStreamReader

class test {

        public static void main(String[] args) throws IOException {

            BufferedReader in=new BufferedReader(new InputStreamReader(System.in))

            System.out.println("输入第一个分数:")

            String string1=in.readLine()

            System.out.println("输入第二个分数:")

            String string2=in.readLine()

            if(get_value(string1)>get_value(string2))

                System.out.println(string1+"大于"+string2)

            else {

                System.out.println(string1+"小于"+string2)

            }

            

        }

        public static double get_value(String str)//分数转小数

        {

            String[] string=str.split("/")//对第一个分数分离出分子和分母

            Double d1=Double.parseDouble(string[0])//分子转double型

            Double d2=Double.parseDouble(string[1])//分母转double型

            Double d0=d1/d2//分数转小数

            return d0

        }

        

}

#include<stdio.h>

main()

{

float a,b

int m,n,p,q

printf("分别输入第一个分数分子,分母:")

scanf("%d%d",&m,&n)

a=m/n

printf("分别输入第二个分数分子,分母:")

scanf("%d%d",&p,&q)

b=p/q

if(a>b)

printf("%d/%d \t>\t%d/%d",m,n,p,q)

else

printf("%d/%d \t> %d/%d",p,q,m,n)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8131989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存