当前位置: 首页 > article >正文

有理数比较

【问题描述】编写函数CompareRational(),比较两个有理数的大学,该函数的参数为两个有理数(结构体类型,包含分子分母两个整数),若第一个有理数小于第二个,返回一个负数;若相等,返回0;若第一个有理数大于第二个,则返回正数。以分数的形式输入两个有理数,输出比较结果。

【输入形式】两个有理数,分数形式,格式为:"分子/分母"
【输出形式】输入的两个有理数,中间用比较运算符连接表示其大小关系。有理数格式同上。
【样例输入】

1/2 3/4
【样例输出】

1/2<3/4

方法一用结构体实现

#include <stdio.h>

typedef struct{
	int a;
	char c;
	int b;
}num;

int main()
{
	int i=0;
	double sum1,sum2;	
	
	num st[2];
	for(i=0;i<2;i++)
	{
		scanf("%d",&st[i].a);
		scanf("%c",&st[i].c);
		scanf("%d",&st[i].b);
	}
	
	sum1 = st[0].a*1.0/st[0].b;
	sum2 = st[1].a*1.0/st[1].b; 
	if(sum1>sum2) printf("%d%c%d>%d%c%d",st[0].a,st[0].c,st[0].b,st[1].a,st[1].c,st[1].b);
	else if(sum1<sum2) printf("%d%c%d<%d%c%d",st[0].a,st[0].c,st[0].b,st[1].a,st[1].c,st[1].b);
	else printf("%d%c%d=%d%c%d",st[0].a,st[0].c,st[0].b,st[1].a,st[1].c,st[1].b);
	
	return 0;
}

方法二:直接暴力就完事了

#include <iostream>

using namespace std;

int main()
{
	int a,b,c,d;
	char r;
	cin >> a >> r >> b >> c >> r >> d;
	
	double sum1,sum2;
	sum1=a*1.0/b;
	sum2=c*1.0/d;
	if(sum1>sum2) printf("%d%c%d>%d%c%d",a,r,b,c,r,d);
	else if(sum1<sum2) printf("%d%c%d<%d%c%d",a,r,b,c,r,d);
	else printf("%d%c%d=%d%c%d",a,r,b,c,r,d);
	
	return 0;
}

 


http://www.kler.cn/a/145863.html

相关文章:

  • 65,【5】buuctf web [SUCTF 2019]Upload Labs 2
  • 零信任安全理念
  • 美特CRM mcc_login.jsp存在SQL注入漏洞
  • (7)(7.2) 围栏
  • 如何将自己本地项目开源到github上?
  • Python新春烟花
  • 计算机图形学-变换基础
  • Linux 面试题(一)
  • zookeeper 单机伪集群搭建简单记录
  • AUTOSAR汽车电子嵌入式编程精讲300篇-汽车CAN总线安全性模糊测试
  • docker network容器网络通信
  • 机器学习【02】在 Pycharm 里使用 Jupyter Notebook
  • 【第二部分:结构】ARM Realm Management Monitor specification
  • Android 10.0 mtp模式下连接pc后显示的文件夹禁止删除copy重命名功能实现
  • Jenkins 保姆级教程
  • 一篇文章完成Hbase入门
  • SpringMVC(三)
  • (C)一些题4
  • Python与ArcGIS系列(十)要素查询与选择
  • ESP32控制数码管实现数字叠加案例
  • 【学习记录】从0开始的Linux学习之旅——驱动模块编译与加载
  • 开源与闭源:大模型未来的发展之争
  • Sass的嵌套CSS 规则详细教程
  • C++面试,const的使用
  • 【LLS-Player】音视频帧的回调过程
  • 基于element自动表格