其实这个题目和上面那个是一样的
/* 1/1-1/2+1/3-1/4+...1/n; */ int n = 1; double sum = 0; double frac = 0; int i = 1; scanf_s("%d", &n); while (i < (n + 1)) //1到n { if (i % 2 == 0) { frac = -1.0 / i; } else { frac = 1.0 / i; } sum = sum + frac; i++; } printf("sum is %f", sum);
update 2018.10.2
昨天看到一个题目和这个类似。里面不用if判断。
#define N 3 int main(void) { double data; int i; double sum = 0; int mul=1; for (i = 0; i < N; i++,mul*=-1) { data = 1.0 / (i + 1); data = data * mul; sum = sum + data; } printf("%f",sum); return 1; }