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; ⑴ 要定义结构体类型, 名为分数 fraction 成员:分子、分母 (numerator、denominator) 变量:分数1、分数2 ⑵ 用一函数frac_add()计算、化简并返回两个分数 的和。 ⑶ 两个相加的分数由键盘输入,输出和的样式为: num1/den1+num2/den2=num/den (或整数)

第1个回答  推荐于2020-12-19
#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'); }本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网