#2
by box » 5年前
a * h
という式では8 * 10 = 80を求めています。
一方、
1 / 2 * (b - a) * h
では、
1 / 2
を行なった時点でint型どうしの割り算のルールに従いゼロとなっています。
したがって、その後で(b - a)をかけようがhをかけようが、
1 / 2 * (b - a) * h
の結果はゼロです。
よって、Sの値は80とゼロを加えた80になります。別段不思議なことではありません。
正答の100を得るには2で割るのを最後にすればよいでしょう。つまり、
S=a * h + (b - a) * h / 2;
a * h
という式では8 * 10 = 80を求めています。
一方、
1 / 2 * (b - a) * h
では、
1 / 2
を行なった時点でint型どうしの割り算のルールに従いゼロとなっています。
したがって、その後で(b - a)をかけようがhをかけようが、
1 / 2 * (b - a) * h
の結果はゼロです。
よって、Sの値は80とゼロを加えた80になります。別段不思議なことではありません。
正答の100を得るには2で割るのを最後にすればよいでしょう。つまり、
S=a * h + (b - a) * h / 2;