js编写一个程序,系统随机生成两数相加的表达式,用户给出答案,系统判断答案是否正确,一轮答题结束后,询问是否继续,如果是则继续进行答题,否则退出程序。程序运行后,用户根据提示输入答案,系统会给出判断并提示是否继续单击确定按钮会重新开始,单击取消按钮会退出程序
时间: 2024-10-04 14:05:10 浏览: 42
要实现这样一个JavaScript程序,我们可以使用`Math.random()`函数来生成随机数,并利用`prompt`函数获取用户的输入。这里是一个简单的示例:
```javascript
function generateQuestion() {
const num1 = Math.floor(Math.random() * 100); // 随机生成0到99之间的整数
const num2 = Math.floor(Math.random() * 100);
let question = `${num1} + ${num2}`;
// 生成表达式的完整字符串
return { question, answer: num1 + num2 };
}
function checkAnswer(input, originalAnswer) {
const userAnswer = parseInt(input);
if (isNaN(userAnswer)) {
alert("请输入一个有效的数字作为答案。");
return false;
}
if (userAnswer === originalAnswer) {
alert("恭喜,答对了!是否继续?(y/n)");
return prompt().toLowerCase() === 'y';
} else {
alert("很遗憾,答案错误。是否继续?(y/n)");
return prompt().toLowerCase() === 'y';
}
}
function startQuiz() {
const quizData = generateQuestion();
const input = prompt(quizData.question);
if (checkAnswer(input, quizData.answer)) {
return startQuiz(); // 递归调用,继续下一轮
}
}
startQuiz();
```
在这个程序中,我们首先定义了一个`generateQuestion`函数用于生成两个随机数相加的问题和正确答案。接着,在`checkAnswer`函数中,用户输入的答案会被转换成整数并与原始答案进行比较。如果回答正确,会询问用户是否继续;如果不正确,同样会询问。最后,`startQuiz`函数负责启动整个过程。
注意:这个示例假设用户只能一次输入一个答案,如果你想支持多次尝试直到用户给出正确答案,你需要调整代码结构。
阅读全文