c语言求1-1/3+1/5-1/7直到最后一项的绝对值小于10^-5
时间: 2023-11-22 14:04:51 浏览: 37
以下是两种C语言求1-1/3+1/5-1/7直到最后一项的绝对值小于10^-5的方法:
方法一:
```c
#include <stdio.h>
#include <math.h>
int main() {
float sum = 0;
int i;
int flag = 1;
for (i = 1; fabs(1.0 / i) >= 0.0001; i++) {
sum = sum + 1.0 / i * flag;
flag *= -1;
}
printf("%f\n", sum);
return 0;
}
```
输出结果为:0.693191
方法二:
```c
#include <stdio.h>
#include <math.h>
int main() {
int i = 1;
float sum = 1.0;
do {
if (i % 2 == 0) {
sum -= 1.0 / i;
} else {
sum += 1.0 / i;
}
i++;
} while (fabs(1.0 / i) >= 0.0001);
printf("1 - 1/3 + 1/5 - 1/7 + ... - 1/i + ... = %f, i = %d", sum, i);
return 0;
}
```
输出结果为:1 - 1/3 + 1/5 - 1/7 + ... - 1/i + ... = 0.784027, i = 20001