C++实现乘法题程序:支持重复运行至输入哨兵值并生成报告
嘿,作为Stack Overflow的新用户,先欢迎你加入这个社区!真的很高兴你能在这里表达感谢——很多时候我们都是在不经意间互相帮助的,这就是社区的魅力呀。
针对你要写的乘法题练习程序,我来给你梳理一个清晰的伪代码方案,完全贴合教授的要求:
乘法题练习程序伪代码
关键变量说明
先定义几个核心变量来跟踪练习状态:
correct_count: 记录答对的题数total_questions: 记录总共出的题数sentinel_value: 自定义的停止触发值,比如选"quit"或者数字0都可以
完整伪代码实现
// 初始化统计变量 SET correct_count = 0 SET total_questions = 0 SET sentinel_value = "quit" // 可替换为你想要的哨兵值,比如0 // 给用户的初始提示 PRINT "欢迎来到乘法题练习!输入「" + sentinel_value + "」即可结束练习。" // 主循环:持续出题直到输入哨兵值 LOOP: // 生成1-10之间的随机乘数(范围可按需调整) SET num1 = RANDOM(1, 10) SET num2 = RANDOM(1, 10) SET correct_answer = num1 * num2 // 出题并获取用户输入 PRINT num1 + " × " + num2 + " = ? (输入「" + sentinel_value + "」结束练习)" GET user_input // 优先检查是否触发停止条件 IF user_input == sentinel_value THEN EXIT LOOP END IF // 统计答题数并验证答案 total_questions = total_questions + 1 IF user_input == correct_answer THEN PRINT "答对啦!👍" correct_count = correct_count + 1 ELSE PRINT "答错了,正确答案是 " + correct_answer + " 😞" END IF // 练习结束,生成结果报告 PRINT "\n=== 练习结果报告 ===" PRINT "总共答题数:" + total_questions PRINT "答对题数:" + correct_count IF total_questions > 0 THEN SET accuracy = (correct_count / total_questions) * 100 PRINT "正确率:" + accuracy + "%" ELSE PRINT "你没有回答任何题目哦~" END IF
重点细节提醒
- 哨兵值判断优先级:一定要先检查用户输入是不是哨兵值,再去统计答题数,不然会把退出指令当成错题算进去
- 随机数范围:如果需要更大的数字,直接调整
RANDOM()的参数就行,比如改成RANDOM(1, 20)生成1到20的数 - 边界处理:加了用户没答题就退出的情况,避免出现除以0的错误(如果用百分比计算的话)
内容的提问来源于stack exchange,提问作者PJ_Fan99
相关产品推荐
相关产品推荐

