题目:
分数计算器程序
源代码:
#include <stdio.h>
int gys(int x,int y)
{
return y?gys(y,x%y):x;
}
int gbs(int x,int y)
{
return x/gys(x,y)*y;
}
void yuefen(int fz,int fm)
{
int s = gys(fz,fm);
fz /= s;
fm /= s;
printf("结果是: %d/%d",fz,fm);
}
void add(int a,int b,int c,int d)
{
int u1,u2,v=gbs(b,d),fz1,fm1;
u1 = v / b * a;
u2 = v / d * c;
fz1 = u1 + u2;
fm1 = v;
yuefen(fz1,fm1);
}
void mul(int a,int b,int c,int d)
{
int u1,u2;
u1 = a * c;
u2 = b * d;
yuefen(u1,u2);
}
void sub(int a,int b,int c,int d)
{
int u1,u2,v=gbs(b,d),fz1,fm1;
u1=v/b*a;
u2=v/d*c;
fz1=u1-u2;
fm1=v;
yuefen(fz1,fm1);
}
void div(int a,int b,int c,int d)
{
int u1,u2;
u1 = a * d;
u2 = b * c;
yuefen(u1,u2);
}
int main()
{
char op;
int a,b,c,d;
scanf("%ld,%ld,%c,%ld,%ld",&a,&b,&op,&c,&d);
switch(op)
{
case '+':add(a,b,c,d);break;
case '*':mul(a,b,c,d);break;
case '-':sub(a,b,c,d);break;
case '/':div(a,b,c,d);break;
}
return 0;
}
演示效果:
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈
标签:fm1,23,int,fz1,u1,u2,算法,C语言,void From: https://blog.csdn.net/little_startoo/article/details/140437809