c语言1/2+1/3+1/4的和的代码
时间: 2024-11-12 18:37:37 浏览: 3
c代码-13、功能:计算1-1/2+1/3-1/4+……+1/99-1/100。
在C语言中,计算分数序列1/2 + 1/3 + 1/4的和,可以先将每个分数转换为小数形式,然后相加。由于直接相加可能会导致精度问题,我们可以选择使用长整型(如`long int`)来存储结果,避免溢出。下面是一个简单的示例:
```c
#include <stdio.h>
// 计算两个分数之和
double addFractions(int num1, int den1, int num2, int den2) {
long int lcm = __gcd(den1, den2); // 获取两个分母的最大公约数
double resultNum = (num1 * lcm) + (num2 * (den1 / lcm)); // 转换成同分母后相加
double resultDen = den1 * den2 / lcm; // 新分母
return resultNum / resultDen;
}
int main() {
double sum = addFractions(1, 2, 1, 3) + addFractions(1, 3, 1, 4); // 分别计算两个部分并相加
printf("1/2 + 1/3 + 1/4 的和 = %.2f\n", sum);
return 0;
}
// gcd 函数用于计算最大公约数
__extension__ unsigned long int __gcd(unsigned long int a, unsigned long int b) {
unsigned long int temp;
while (b != 0) {
temp = a % b;
a = b;
b = temp;
}
return a;
}
```
这个程序首先计算1/2和1/3的和,然后再与1/4相加。注意,这里我们使用了宏`__extension__`是因为`__gcd`函数不是标准C库的一部分,但在大多数现代编译器上可用。
阅读全文