> 其他 >
c++自动出题20以内退位减法
1.基本要求:
要求用C++语言编程,在Visual C++环境下调试完成.
3. 创新要求:
实现程序功能后,可进行创新设计(3项全部实现为创新):
1)可以自动出题进位加法题目,如:3+8=?,或?+8=16 或7+?=12.
2)可以自动出乘法 如:2*5=?或?*5=35或8*?=32.
3)随机决定当前题目是进位加法、乘法和退位减法题目.
三、设计方法和基本原理:
1. 问题功能描述:
计算机随机生成100道退位减法题目,其中1~50题为诸如15-6=?形式的退位减法;51~75题为1?-4=7形式的退位减法;76~100题为:16-?=7形式的退位减法.
2. 问题的解决方案:
如果随机生成减数和被减数,会造成某些题目出现频度过高的现象.例如等概率生成10~18的减数,一旦生成18,则被减数只能是9,才能构成退位减法.较好的解决办法是:“10-1”
到“18-9”共有45种不同的退位减法,将这45种不同的退位减法设定为一个数字,如果设定“10-1=”为0,如果随机生成了0,则输出“10-1=”这道题.
四、主要技术问题的描述:
使用rand()函数(无参)可产生随机整数,每调用1次rand()就产生1个随机数.
为使每次运行程序,rand()函数产生不同的随机数,要调用一次srand函数:
srand(time(NULL));
这些函数涉及到的头文件有
#include
#include
例如产生10个随机整数的程序:
#include
#include
#include
void main()
{
srand(time(NULL));
int a[10],i;
for (i=0;i
人气:468 ℃ 时间:2020-05-28 14:18:12
解答
typedef enum{jia,jian,cheng}timu;void output(timu a){  int d = 0;  int p1 = 0,p2 = 0;  int s = 0;  char op;  if (a != cheng)  {      while (1)   ...不对的了吧
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版