ここに、シリーズ1 + 1 / 2 + 1 / 3 + 1 / 4 ...などを合計することになっているプログラムがあります
唯一のユーザー エントリは、この合計を実行する回数を入力することです。しかし、私は合計を取得し続けます。
#include <stdio.h>
int main(void)
{
int b,x; /* b is number of times program runs and x is the count*/
float sum;
printf("Enter the number of times you want series to run.\n");
scanf("%d", &b);
printf("x sum\n");
for(x=1,sum=0;x<b+1;x++)
{
printf("%d %9.3f\n",x, (sum +=(float)(1/x)));
}
return 0;
}
うまくいかない理由がよくわかりません。ご覧のとおり、x を出力するように指示したところ、x は正しくインクリメントされていました。合計は 1 になり続けました。