C语言,求两个分数的和,要用结构体

求两个分数的和。如:3/5+4/7=(3*7+5*4)/(5*7)=41/35;3/5+4/35=(3*7+4)/35=25/35=5/7;⑴要定义结构体类型,名为分数f... 求两个分数的和。 如:3/5+4/7=(3*7+5*4)/(5*7)=41/35; 3/5+4/35=(3*7+4)/35=25/35=5/7; ⑴ 要定义结构体类型, 名为分数 fraction 成员:分子、分母 (numerator、denominator) 变量:分数1、分数2 ⑵ 用一函数frac_add()计算、化简并返回两个分数 的和。 ⑶ 两个相加的分数由键盘输入,输出和的样式为: num1/den1+num2/den2=num/den (或整数) 展开
 我来答
手机用户87684
推荐于2020-12-19 · 超过62用户采纳过TA的回答
知道答主
回答量:124
采纳率:100%
帮助的人:115万
展开全部
#include <stdio.h> typedef struct node{ long numerator,denominator; void frac_add(struct node,struct node); }fraction; void fraction::frac_add(fraction f1,fraction f2){ long i=2; this->denominator=f1.denominator*f2.denominator; this->numerator=f1.denominator*f2.numerator+f1.numerator*f2.denominator; while(i<=this->denominator&&i<=this->numerator){ while(!(this->denominator%i||this->numerator%i)){ this->denominator/=i; this->numerator/=i; } i++; } } void main(){ fraction f1,f2,f3; f1.numerator=3; f1.denominator=5; f2.numerator=4; f2.denominator=35; f3.frac_add(f1,f2); printf("%ld/%ld+%ld/%ld=%ld",f1.numerator,f1.denominator,f2.numerator,f2.denominator,f3.numerator); if(f3.numerator!=1){ printf("/%ld",f3.denominator); }putchar('\n'); }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式