2/1+3/2+5/3...n
时间: 2023-12-12 17:32:58 浏览: 35
这是一个求级数和的问题,其中每一项的分子是前一项的分母加1,分母是当前项的序号减1。以下是三种C语言的解法:
1. 第一种方法,将所有分母是奇数的项累加,将分母是偶数的项累减,得到结果。
```c
#include <stdio.h>
int main() {
int n=0;
int i=0;
double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i+=2) {
sum+=1.0/i;
}
for(i=2;i<=n;i+=2) {
sum-=1.0/i;
}
printf("%lf",sum);
return 0;
}
```
2. 第二种方法,使用if语句判断当前项的奇偶性,分别累加或累减。
```c
#include <stdio.h>
int main() {
int n=0;
int i=0;
double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++) {
if(i%2==1) {
sum+=1.0/i;
} else {
sum-=1.0/i;
}
}
printf("%lf",sum);
return 0;
}
```
3. 第三种方法,使用三目运算符判断当前项的奇偶性,分别累加或累减。
```c
#include <stdio.h>
int main() {
int n=0;
int i=0;
double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++) {
sum+=(i%2==1)?(1.0/i):(-1.0/i);
}
printf("%lf",sum);
return 0;
}
```