C语言实现分数的四则运算

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43330276/article/details/83063916

用C语言实现分数的四则运算

#include<stdio.h>
int main()
{
int a,b,d,e,f,g,m,n;
f=0,g=0;
char op;
scanf("%d/%d %c %d/%d",&a,&b,&op,&d,&e);
switch(op)
{
case’+’:f=ae+bd,g=be; break;
case’-’:f=a
e-bd,g=be; break;
case’’:f=ad,g=be; break;
case’/’:if(b)f=a
e,g=d*b;
else {printf(“除数不能为!0\n”);return 0;}
}
m=f,n=g;
int gcd(int m,int n) //辗转相除法求最大公约数
{
if(n= =0) //没有空格
return m;
else
return gcd(n,m%n);
}
f=f/gcd(m,n);
g=g/gcd(m,n); //进行化简
if(f= =0||g= =1) //考虑特殊情况
printf("%d/%d %c %d/%d = %d\n",a,b,op,d,e,f);
else
{
if(g<0)
{ f=-f,g=-g; }
printf("%d/%d %c %d/%d = %d/%d\n",a,b,op,d,e,f,g);
}
return 0;
}

展开阅读全文

没有更多推荐了,返回首页