C语言实现分式乘积计算:最简形式输出
分式的乘积等于所有分式的分子的乘积除以所有分式的分母的乘积。我们可以使用一个变量来记录分子的乘积,另一个变量来记录分母的乘积。然后根据分母是否为0来判断结果是否为整数,如果是整数则直接输出,否则输出最简形式。
C语言代码如下:
#include <stdio.h>
int main() {
int n;
scanf('%d', &n);
long long numerator_product = 1; // 分子的乘积
long long denominator_product = 1; // 分母的乘积
for (int i = 0; i < n; i++) {
int a, b;
scanf('%d %d', &a, &b);
numerator_product *= a;
denominator_product *= b;
}
// 判断结果是否为整数
if (denominator_product == 0) {
printf('结果为无穷大\n');
} else if (numerator_product % denominator_product == 0) {
printf('%lld\n', numerator_product / denominator_product);
} else {
// 输出最简形式
int gcd = 1; // 最大公约数
for (int i = 1; i <= numerator_product && i <= denominator_product; i++) {
if (numerator_product % i == 0 && denominator_product % i == 0) {
gcd = i;
}
}
printf('%lld/%lld\n', numerator_product / gcd, denominator_product / gcd);
}
return 0;
}
这个代码中,我们使用了两个变量numerator_product和denominator_product来记录分子和分母的乘积。然后通过一个循环来读取每个分式的分子和分母,并更新乘积。最后根据分母是否为0来判断结果是否为整数,如果是整数则直接输出,否则输出最简形式。
原文地址: https://www.cveoy.top/t/topic/dpRB 著作权归作者所有。请勿转载和采集!