计算两个分数的和[C++上机作业] 's

admin 2017年4月21日09:48:00评论253 views字数 767阅读2分33秒阅读模式
摘要

题目:
定义“分数”结构体类型fraction,并编写函数计算两个分数的和  函数原形如下:
  fraction add(fraction a ,fraction b); //计算两个分数的和,要求对结果进行化简

题目:
定义“分数”结构体类型fraction,并编写函数计算两个分数的和

  函数原形如下:
  fraction add(fraction a ,fraction b); //计算两个分数的和,要求对结果进行化简

今天C++上机课的一道题。。
计算两个分数的和,并对结果进行化简。

  程序如下:

#include<iostream.h>
struct fraction
{
  int fenzi;
  int fenmu;
};
fraction add(fraction a ,fraction b)
{
  int i;
  for(i=1;i<=b.fenmu;i++)
    if((i*a.fenmu)%b.fenmu==0)
      break;
    int x,y;
    x=i*a.fenmu; //通分过的分母
    y=a.fenzi*i+b.fenzi*(x/b.fenmu); //通分过的分子

  int q;
  for(q=1;q<=y;q++)
    if((q*x)%y==0)
      break;
    int t,l;
    t=q*x; //通分过的分母与分子的最小公倍数
    l=x*y/t; //通分过的分母与分子的最大公约数
    if(x==y)
      cout<<"这两个分数的和为:"<<"1"<<endl;
    else
      cout<<"这两个分数的和为:"<<y/l<<"/"<<x/l<<endl;
    return (a,b);
}
void main()
{
  fraction a,b;
  cout<<"输第一个分数的分子与分母:"<<endl;
  cin>>a.fenzi>>a.fenmu;
  cout<<"输第二个分数的分子与分母:"<<endl;
  cin>>b.fenzi>>b.fenmu;
  add(a,b);
}

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月21日09:48:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   计算两个分数的和[C++上机作业] 'shttp://cn-sec.com/archives/49016.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息