用C编写程序,求x=1-1/22+1/333-1/4444+1/55555……+1/999999999
时间: 2023-11-19 11:06:18 浏览: 61
以下是用C编写程序,求x=1-1/22+1/333-1/4444+1/55555……+1/999999999的代码:
```c
#include <stdio.h>
#include <math.h>
int fun(int);
int main() {
int n = 9; // n的值为9
double sum = 0;
int i;
for (i = 1; i <= n; i++) {
sum += pow(-1, i - 1) / fun(i);
}
printf("x=%lf\n", sum);
return 0;
}
int fun(int n) {
int i, sum = 0;
for (i = 1; i <= n; i++) {
sum += n * pow(10, i - 1);
}
return sum;
}
```
相关问题
用C编写程序,求x=1-1/22+1/333-1/4444+1/55555……+1/999999999
以下是C语言编写的程序,用于计算x=1-1/22+1/333-1/4444+1/55555……+1/999999999:
```c
#include <stdio.h>
#include <math.h>
int fun(int n);
int main() {
int n, i;
double sum = 0;
printf("请输入一个小于9的自然数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += pow(-1, i - 1) / fun(i);
}
printf("x=%lf\n", sum);
return 0;
}
int fun(int n) {
int i, sum = 0;
for (i = 1; i <= n; i++) {
sum += n * pow(10, i - 1);
}
return sum;
}
```
用C语言编写,计算x=1-1/3!+1/5!-1/7!……要求精度为1e-5
```c
#include <stdio.h>
#include <math.h>
double fact(int n) {
if (n == 0) {
return 1;
} else {
return n * fact(n-1);
}
}
int main() {
double x = 1;
double term;
int i = 3;
do {
term = 1.0 / fact(i);
if (i % 4 == 3) {
x -= term;
} else {
x += term;
}
i += 2;
} while (fabs(term) >= 1e-5);
printf("x = %lf\n", x);
return 0;
}
```
这个程序中,fact函数用来计算n的阶乘,通过循环计算每一项的值,当某一项小于1e-5时停止循环,最终得到x的值,并输出。循环中通过判断i的奇偶性来决定是加上还是减去当前项的值,这是因为每4个数为一组,前3个数的符号是加号,第4个数的符号是减号。
阅读全文