【问题标题】: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}`);
}