要求用户输入一个数字。然后要求用户输入一个比第一个数字大的数字。计算一个值,该值是从第一个数字到第二个数字(包括端点)的所有数字之和。例如,如果用户输入 5 和 10,则计算 5 + 6 + 7 + 8 + 9 + 10 的总和。显示结果。 必须使用 WHILE 循环
这就是我到目前为止所拥有的。我似乎无法得到正确的总和。如果我输入上面示例中的数字,我会得到 49 而不是 45。根据我的代码,我明白哪里出了问题以及为什么它是 49,但不知道如何使其正确。
// declare constants
const INITIAL_VALUE = 0;
const COUNTER_VALUE = 1;
// declare variables
var number1;
var number2;
var sum;
var counter;
var difference;
var middlePoint;
var middlePointSum;
// assigning values
sum = INITIAL_VALUE;
difference = INITIAL_VALUE;
counter = COUNTER_VALUE;
middlePoint = COUNTER_VALUE;
middlePointSum = INITIAL_VALUE;
// prompt user to enter two numbers
number1 = prompt("Enter first number: ");
number2 = prompt("Enter a number bigger than first number: ");
// convert user input into numbers
number1 = Number(number1);
number2 = Number(number2);
// display number1
document.write(number1);
difference = number2 - number1;
middlePoint += number1;
while (counter < difference) {
document.write(" + " + middlePoint);
middlePoint = middlePoint + 1;
counter++;
middlePointSum += middlePoint;
}
// calculate the sum
sum = number1 + middlePointSum + number2;
// display number1, middle points, number2, and sum
document.write(" + " + number2 + " = " + sum);
最佳答案
// prompt user to enter two numbers
var number1 = prompt("Enter first number: ");
var number2 = prompt("Enter a number bigger than first number: ");
// convert user input into numbers
var number1 = Number(number1);
var number2 = Number(number2);
var start_point= number1;
var sum=0;
// display number1
document.write(start_point);
sum += start_point;
start_point++;
while (start_point <=number2) {
document.write(" + " + start_point);
sum += start_point;
start_point++;
}
// display sum
document.write(" = " + sum);
关于javascript - 两个数字及其之间的数字之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53258500/