为什么程序无法正确计算该值?

恶鳞

我有任务 我需要评估表达式:

w =(3x + 6x + 9x ... + 90x)-15,x = 0.03

该表达式的计算应使用while循环进行。

我编写了程序代码,但给人的印象是它无法正常工作。

请查看我的代码是否正常工作?我很没有经验=(

double x = 0.03;
double w, sum;
int counter1 = 0;
while (counter1 <= 90) {
    counter1 += 3;
    w = counter1 * x;
    sum = sum + w;
}
sum = sum - 15;
cout << "Calculation result, w =: " << sum << endl;
保罗·埃文斯

您的问题是第一次通过循环:

sum = sum + w;

sum 未初始化,因此可以包含任何垃圾。

您应该始终初始化变量:

double sum = 0;

另外,正如@ formerlyknownas_463035818注释一样,您的循环太过了:

while (counter1 <= 90) {
    counter1 += 3;
    ...

您的最后一个任期将是93 * x,而不是90 * x您的预期。

因此应该是:

while (counter1 < 90) {
    counter1 += 3;
    ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章