有理数的四则运算 C、java

 

题目:用C语言、java语言实现有理数的四则运算,输入整数或小数,输出结果用分数和小数两种形式输出。

 


 

 

首先想到的是:有理数如何表示?

拼命、拼命回忆到了初中的数学知识——任何有理数都可以表示为分数的形式,2个整数,一个分子,一个分母。

所以表示为


//结构体 用于存储一个有理数 包含分子和分母 
typedef struct Rational{
        int fenzi;
        int fenmu;
}Rat


还有一个问题是如何将舒服的分数或小数转化为有理数结构Rat?

如下方法getRat():

/**
*  接收一个整数或小数,转化为分数形式返回  
*/
Rat getRat()
{
    float num ;
    Rat f;
    scanf("%f",&num);  
    f.fenzi = (int)num;
    f.fenmu = 1;
    while(num != (int)num) 
    {
        f.fenmu *= 10;
        num *= 10; 
        f.fenzi = (int)num;
    }    
    return f; 
}   

getRat()的作用是接受一个从键盘键入的float数值,然后将其转化为一个Rat结构返回,但不会进行化简,如输入0.5会返回的结构体分子为5分母为10.

在中间计算过程中可以有5/10这样的分数存在,但最后输出结果时肯定是要输入最简结果的,所以还必须有一个用于化简的函数——

Rat huajian(Rat n
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值