C语言初学者~分数的加法

来源:百度知道 编辑:UC知道 时间:2024/05/30 22:08:10
输入:

分数1 操作符 分数2

输出:

计算结果

要求:

计算结果使用分数表示,并且为最简化。例如结果为2/6,则被简化为1/3

例如:输入1/3 + 1/2 输出 1/3 + 1/2 = 5/6
请各位大侠一定要得到例子那样的结果,多谢!!

#include<stdio.h>
int main(void)
{
int i,m,n,k,a,b,c,d;
char e,f,g;
scanf("%d%c%d%c%d%c%d",&a,&e,&b,&f,&c,&g,&d);
m=b*d;
n=a*d+b*c;
k=(m>n)?n:m;
for(i=k;i>=2;i--)
{
if(((m%i)==0)&&((n%i)==0))
{
m=m/i;
n=n/i;
}
else
continue;
}
if(m==1)
printf("%d/%d+%d/%d=%d",a,b,c,d,n);
else
printf("%d/%d+%d/%d=%d/%d",a,b,c,d,n,m);
return 0;
}
显现了你所说的功能,而且如果输入7/4+1/4可以输出2而不输出2/1。哪里不满意和我说,记得给分哦。呵呵

通分 然后 约分 非别用多个变量来存放这些数