自动生成四则运算的程序

代码:https://github.com/JOHOYQ/siALU.git

题目:写一个能自动生成小学四则运算题目的程序,在此基础上扩展:

1)除整数以外,还要支持真分数的四则运算。

2)程序支持判断对错,累计分数,倒计时。

3)支持多个运算符。

4)支持括号。

5)用户界面可由用户选择中文、英文或日文。

6)把上面的功能移植到网上。

我对c语言比较熟悉,所以用c语言编写的这个程序,运行环境是vc++6.0.其实我觉得用android可能要简单些,但是不太熟练。

这个程序是自己原创搭的,思想是:用户界面可由用户选择中文、英文或日文,主界面就用switch-case的方法实现用户选择不同语言的界面。自动生成,就必须用rand随机产生运算数和运算符,再次用switch-case的方法完成加减乘除的生成。刚开始不太明白真分数的四则运算,就用的float型。后来增加了分数的运算,但是没有用辗转相除法,还需要进一步完善。整个程序没有实现倒计时,支持括号,移植到网页程序上的功能,放到github算吗?还有支持多个运算符是指加减乘除的混合运算吗?之后会进一步加强它的功能的。尝试过倒计时,但是在一个界面有倒计时和题目不能实现,倒计时的刷新是通过界面刷新的,题目就不能出现。希望有大神能够提提意见。万分感谢。

转载于:https://www.cnblogs.com/12qw/p/7518495.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于 Python 的自动生成四则运算题目的程序实现方案: ```python import random # 定义运算符 operators = ['+', '-', '*', '/'] # 定义数字范围 min_num = 1 max_num = 100 # 定义生成表达式的函数 def generate_expression(): # 随机生成两个数字 num1 = random.randint(min_num, max_num) num2 = random.randint(min_num, max_num) # 随机选择一个运算符 op = random.choice(operators) # 生成表达式字符串 expression = "{} {} {}".format(num1, op, num2) # 返回表达式字符串和答案 if op == '+': answer = num1 + num2 elif op == '-': answer = num1 - num2 elif op == '*': answer = num1 * num2 else: answer = num1 / num2 return expression, answer # 定义生成表达式列表的函数 def generate_expressions(num): expressions = [] answers = [] for i in range(num): expression, answer = generate_expression() expressions.append(expression) answers.append(answer) return expressions, answers # 定义检查答案的函数 def check_answer(expression, answer, user_answer): if answer == user_answer: print("{} = {},回答正确!".format(expression, user_answer)) return 1 else: print("{} = {},回答错误!正确答案为 {}。".format(expression, user_answer, answer)) return 0 # 定义运行测试的函数 def run_test(): # 用户输入条件 num = int(input("请输入题目数量:")) operators_str = input("请输入要使用的运算符(+,-,*,/中的任意组合,例如'+-'表示使用加法和减法):") nums_range_str = input("请输入数字范围(用空格分隔,例如'1 100'表示使用1-100之间的数字):") # 解析用户输入条件 operators_to_use = [] for op in operators_str: if op in operators: operators_to_use.append(op) if not operators_to_use: operators_to_use = operators nums_range = nums_range_str.split() if len(nums_range) == 2: min_num = int(nums_range[0]) max_num = int(nums_range[1]) else: min_num = 1 max_num = 100 # 生成题目 expressions, answers = generate_expressions(num) # 等待用户输入答案并检查 score = 0 for i in range(num): print("第{}题:{}".format(i + 1, expressions[i])) user_answer = int(input("请输入答案:")) score += check_answer(expressions[i], answers[i], user_answer) # 计算得分并输出测试结果 print("测试结束,得分:{}/{}。".format(score, num)) # 运行测试程序 run_test() ``` 以上代码中,我们通过定义多个函数实现了生成四则运算表达式、生成指定数量的四则运算表达式、计算表达式答案、检查用户输入答案是否正确等功能,并通过一个 `run_test` 函数将这些功能组合起来,实现了一个简单的四则运算题目自动生成程序。您可以根据自己的需求和实际情况进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值