C语言 分数加减运算

左手的ㄟ右手 2022-05-18 05:37 402阅读 0赞

#include
#include

char s[100];

int lcm(int n,int m){ //构建求得最小公倍数的函数

int i;

for(i = n; i <= n*m; i = i + n){

if(i % m == 0) break;
}
return i;
}

int main(){

int a,b,c,d,t,k,m;
char o,ch,c1;

while(scanf(“%d%c%d%c%d%c%d”,&a,&ch,&b,&o,&c,&c1,&d) != EOF){
t = lcm(b,d);
a = a * (t / b);
c = c * (t / d);
b = d = t;
if(o == ‘+’) k = a + c;
if(o == ‘-‘) k = a - c;
if(k == 0) printf(“0\n”);
else{
m = (fabs(k) * fabs(t)) / lcm(fabs(k),fabs(t));
k = k / m;
t = t / m;
printf(“%d%c%d\n”,k,ch,t);
}
}
return 0;
}

发表评论

表情:
评论列表 (有 0 条评论,402人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++ 指针的运算

    首先明确几点: 1:涉及到数组的指针,若两指针指向的不是同一个数组,那么指针之间的加减运算是无意义的,因为得到的结果就是他们地址之间的差值。 2:指针变量加/减 一个整数,

    相关 592 分数运算(模拟)

    1. 问题描述: 给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果。 这个结果应该是不可约分的分数,即最简分数。 如果最终结果是一个整数,例如 2,