7-58 有理数比较

本题要求编写程序,比较两个有理数的大小。

输入格式:

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

输出格式:

在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。

输入样例1:

1/2 3/4

 输出样例1:

1/2 < 3/4

输入样例2:

6/8 3/4

输出样例2:

6/8 = 3/4

解析:
一开始我没想到使用结构体,而是使用简单的思路编程,屡遭碰壁,屈服,然后去网上搜了很多答案,发现结构体是最不容易出错的相对于这道题。

还有个很重要的点就是double x,y一定在计算的时候分子×0.1

这样才能确保出来的是double类型 而不是按照整数类型计算

代码:

#include<stdio.h>
struct stu{
	int a1;
	int b1;
	int a2;
	int b2;
}stu;
int main()
{
	int a1,a2,b1,b2;
	scanf("%d/%d %d/%d",&stu.a1,&stu.b1,&stu.a2,&stu.b2);
	double x,y;
	x=(stu.a1*1.0)/stu.b1;
	y=(stu.a2*1.0)/stu.b2;
	if(x<y)
	{
		printf("%d/%d < %d/%d",stu.a1,stu.b1,stu.a2,stu.b2);
	}
	if(x==y)
	{
		printf("%d/%d = %d/%d",stu.a1,stu.b1,stu.a2,stu.b2);
	}
	if(x>y)
	{
		printf("%d/%d > %d/%d",stu.a1,stu.b1,stu.a2,stu.b2);
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值