求1-1/2+1/3…-1/100
时间: 2023-11-23 10:06:47 浏览: 180
c代码-13、功能:计算1-1/2+1/3-1/4+……+1/99-1/100。
以下是两种C语言求1-1/2+1/3…-1/100的例子:
1. 总体思路:先求1+1/3+1/5.....+1/99,再求1/2+1/4+…1/100,最后结果相减。
```c
#include <stdio.h>
int main() {
float i,j;
float sum=0,sum1=0,sum2=0;
for(i=1;i<=100;i+=2) {
sum1=sum1+1/i;
}
printf("总和sum1=%f\n",sum1);
for(j=2;j<=100;j+=2) {
sum2=sum2+1/j;
}
printf("总和sum2=%f\n",sum2);
sum = sum1 - sum2;
printf("sum=%.2f\n",sum);
return 0;
}
```
2. 思路分析:
①分子均为1,分母递增1,我们可以设置一个变量i表示分母。
②分母1-100有一百个数,其中一部分相加,一部分相减并且相加(减)式中会隔一个相减(加)式子,可以在用for循环给i自增的时候,定义变量flag每当i自增一次,flag变号一次。
③注意,这是小数的运算,不能用int定义sum,应该用double或者float
```c
#define _CRT_SECURE_NO_WARNINGS 1 //防止visual studio2013以上版本scanf报错,vc6.0环境可忽略
#include<stdio.h>
int main() {
int i = 0;
double sum = 0;
int flag = 1;
for (i = 1; i <= 100; i++) {
sum = sum + flag * (1.0 / i);
flag = -flag;
}
printf("1-1/2+1/3-1/4+........+1/99-1/100的值为:%lf ", sum);
return 0;
}
```
阅读全文