计算1-1/2+1/4-1/8+1/16-……之和,直至加项小于10-6为止。
#include <stdio.h>
int main()
{
int n=1;
int flag = 1;
double sum = 0;
while (1.0/n >= 1e-6)
{
sum += flag * 1.0/n;
flag =-flag;
n*=2;
}
printf("%lf",sum);
return 0;
}
#include<stdio.h>
#include<math.h>
void main()
{
float sum = 0;
int i=1 , j = 1; // 用j控制正负
for(i=2; 1.0/i>1e-6;i*=2)
{
sum += pow(-1,j)*(1.0/i);
j++;
}
printf("%.3f",sum);
}