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)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)