【问题标题】:How do you find average of all the even integers from n to n inclusive with while loop? (Javascript)您如何使用 while 循环找到从 n 到 n 的所有偶数的平均值? (Javascript)
【发布时间】:2020-10-23 20:33:00
【问题描述】:

我正在尝试编写一个程序,它计算一个数字的平均值到一个数字的平均值。但是,当我打印代码时,它会打印所有数字的平均值,而不是最终结果(总和)。有没有办法只打印总和的平均值而不是所有其他数字?

var n = 1;
var sum=0;
var count=0;
 
while (n<=10) {
  sum+=n;
  n+=2;
  count++;
  console.log(""+sum/count);
}

【问题讨论】:

  • 那么为什么要在循环中间打印出来?

标签: javascript while-loop


【解决方案1】:

实际的问题只是需要将您的控制台置于循环之下。

虽然,使用while 并没有错。 for 循环在调用本身中包含 step

var sum = 0;
var count = 0;

for (n = 1; n <= 10; n += 2) {
  sum += n;
  count++;
}

console.log(sum / count);

【讨论】:

    【解决方案2】:

    我认为您走在正确的轨道上,也许您可​​以考虑添加某种形式的输入验证:

    const convertToInt = (s) => {
        if (isNaN(s)) {
            throw `Parameter: ${s} is not a number!`;
        }
        const x = 1 * s;
        if (!Number.isInteger(x)) {
            throw `Parameter: ${s} is not a integer!`;
        }
        return x;
    }
    
    try {
        const start = convertToInt(prompt('Enter the start of the range ', '1'));
        const end = convertToInt(prompt('Enter the end of the range ', '10'));
        
        if (end <= start) {
            throw `Parameter end (${end}) is less or equal to start (${start})!`;
        }
        
        const n = end - start + 1;
    
        let total = 0;
        for (let i = start; i <= end; i++) {
            total += i;
        }
    
        const average = total / n;
        console.log(`The average of the numbers between ${start} and ${end} inclusive is ${average}.`)
    
    } catch (e) {
        console.error(`Error: ${e}`);
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多