1.写出以下式子的算法过程的C从程序。 1) 1+1/2+13+....+1/100; 2) 1/2* 2/3*3/4*..*99/100
时间: 2024-09-19 18:10:20 浏览: 30
以下是两个给定算式的C语言程序:
1) 计算序列 1 + 1/2 + 1/3 + ... + 1/100 的累加求和:
```c
#include <stdio.h>
double sum_series(int n) {
double total = 0.0;
for (int i = 1; i <= n; ++i) {
total += 1.0 / i;
}
return total;
}
int main() {
int denominator = 100;
double result = sum_series(denominator);
printf("The sum of the series from 1 to 1/100 is: %.2f\n", result);
return 0;
}
```
2) 计算阶乘序列 1/2 * 2/3 * 3/4 * ... * 99/100:
这个是一个交错级数,计算结果接近于1但不等于1,需要特别处理避免除以零的情况。下面是一个简化版本的程序:
```c
#include <stdio.h>
#include <math.h> // 使用fabs函数防止浮点误差
double calculate_product(double numerator, double denominator) {
if (denominator == 0)
return 1.0;
else if (numerator > denominator)
return 1.0 / calculate_product(numerator - denominator, denominator);
else
return numerator / denominator;
}
int main() {
double product = 1.0;
for (int i = 2; i <= 99; ++i) {
product *= calculate_product(i, i + 1);
}
printf("The product of the sequence from 1/2 to 99/100 is approximately: %.15f\n", product);
return 0;
}
```
阅读全文