浙江大学版「C言語プログラミング(第3版)」のトピック集
演習2-3二乗と逆数のシーケンスの部分的な合計を見つける(15ポイント)
この質問では、シーケンスの合計を計算するために、2つの正の整数mおよびn(m≤n)のプログラムを作成する必要があります。
入力フォーマット:
2つの正の整数mとn(m≤n)をスペースで区切って1行に入力します。
出力フォーマット:
1行で、部分合計値Sを「sum = S」の形式で、小数点以下6桁まで正確に出力します。タイトルは、計算結果が2倍の精度範囲を超えないことを保証します。
入力サンプル:
5 10
サンプル出力:
合計= 355.845635
コード:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n,i;
double S=0;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++){
S+=i*i+1.0/i;
}
printf("sum = %.6f",S);
return 0;
}
結果の送信:
総括する:
- 部分和を2倍にするには、以下に示すように、逆数シーケンスの分母を1.0と書く必要があります。
S+=i*i+1.0/i;
2.出力部分の合計の値Sに注意してください。これは、小数点以下6桁まで正確であるため、以下に示すように、%。6fと記述する必要があります。
printf("sum = %.6f",S);