/* error_zeta1_bugged.c 1/1 + 1/2 + 1/3 + ... の計算をしているはずなのに どこがバグかな? */ #include int main() { int n; float x = 0.0; for(n = 1; n < 11; n++){ x += 1 / n; if(n == 1) printf("1/1 = %9.6f\n", x); if(n == 2) printf("1/1 + 1/2 = %9.6f\n", x); if(n == 3) printf("1/1 + 1/2 + 1/3 = %9.6f\n", x); if(n > 3) printf("1/1 + 1/2 + ... + 1/%2d = %9.6f\n", n, x); } return 0; } /* 出力: 1/1 = 1.000000 1/1 + 1/2 = 1.000000 1/1 + 1/2 + 1/3 = 1.000000 1/1 + 1/2 + ... + 1/ 4 = 1.000000 1/1 + 1/2 + ... + 1/ 5 = 1.000000 1/1 + 1/2 + ... + 1/ 6 = 1.000000 1/1 + 1/2 + ... + 1/ 7 = 1.000000 1/1 + 1/2 + ... + 1/ 8 = 1.000000 1/1 + 1/2 + ... + 1/ 9 = 1.000000 1/1 + 1/2 + ... + 1/10 = 1.000000 */