随机生成30道100以内的四则运算题

设计思路:

1、利用随机数法随机生成两个随机数

1.1控制随机数在100以内

1.2随机数不等于0

2、运算符的问题

1.1运用求余方式得到的1,2,3,4分别表示“+”,“-”,“*”,“/”

3、真分数的表示方法

1.1还是利用随机数法生成两个随机数

1.2比较生成的随机数的大小,小的作为分子,大的作分母,得到真分数

4、输出运算结果,用1,2分别表示整数运算和有真分数参与的运算

在有真分数参与时,是在一定程度上的随机,并不是完全的随机,有待改进

代码:

#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,e; //定义几个整形变量
for(int i=0;i<30;i++)
{
a=1+rand()%100; //产生随机数
b=1+rand()%100;
c=1+rand()%100;
d=1+rand()%4;
e=rand()%2;

if(e==0) //当e=0的时候,进行的是整数四则运算
{
switch (d)
{
case 1:
cout<<a<<"+"<<b<<"="<<endl;
break;
case 2:
cout<<a<<"-"<<b<<"="<<endl;
break;
case 3:
cout<<a<<"*"<<b<<"="<<endl;
break;
case 4:
cout<<a<<"/"<<b<<"="<<endl;
break;
}
}
else(e==1); //当e=1的时候,进行的是真分数参与的四则运算
{
if(c>a)

switch (d)
{
case 1:
cout<<"("<<a<<"/"<<c<<")"<<"+"<<b<<"="<<endl;
break;
case 2:
cout<<"("<<a<<"/"<<c<<")"<<"-"<<b<<"="<<endl;
break;
case 3:
cout<<"("<<a<<"/"<<c<<")"<<"*"<<b<<"="<<endl;
break;
case 4:
cout<<"("<<a<<"/"<<c<<")"<<"/"<<b<<"="<<endl;
break;
}
}
}
return 0;
}

时间: 2024-10-12 11:10:27

随机生成30道100以内的四则运算题的相关文章

随机生成30道100以内的四则运算题目

1.题目要求:除了整数以外,还要支持真分数的四则运算. 2.设计思路: (1)操作数的产生: a.利用宏定义定义随机函数. b.引用随机随机函数产生随机数,并定义随机数的取值范围. (2)运算符问题的解决: a.引用随机函数产生0~3四个随机数 b.引用swatch.case结构,随机选择运算符号:0:加 1:减 2:乘 3:除 (3)运行结果的输出: 利用for循环结构,顺序输出30道四则运算题目,并显示在屏幕上. (4)未解决问题: 随机产生真分数计算的问题还没有解决,希望通过以后的努力可以

随机生成30道四则运算-NEW

补充:紧跟上一个随机生成30道四则运算的题目,做了一点补充,可以有真分数之间的运算,于是需要在原来的基础上做一些改进. 首先指出上一个程序中的几个不足:1.每次执行的结果都一样,所以不能每天给孩子出30道一样的题吧!2.没有考虑,如果随机出的是除法,且除数为0的情况.3.没有实现生成真分数的四则运算的功能. 经过分析,决定依次进行改进: 针对问题1:在程序中设置时间种子,即可使得每次程序运行的结果不同. 针对问题2:当判断要生成除法运算时,做一个判断,若除数为0,则重新生成. 针对问题3:定义一

软件工程课堂练习-随机生成30道四则运算练习题

习题要求:随机生成30道四则运算题 以下是程序代码: 1 #include "stdafx.h" 2 #include "stdio.h" 3 #include "time.h" 4 #include "stdlib.h" //随机器函数头文件 5 6 void print() 7 { 8 srand((int)time(0)); 9 for(int i=0;i<=29;i++) 10 { 11 int x; 12 in

随机生成30道四则运算题目

1.题目要求:随机生成30到四则运算题,其中不能超过2位运算,包含真分数. 2.设计思路 (1)先随机产生四个数,前两个数用作整数的四则运算,然后前两个数再作为第一个分数,后两个数作为第二个分数. (2)利用switch\case函数分别对每种情况进行表示,利用除以7的余数表示8中不同的情况,前四种表示整数的加减乘除运算,后四种表示分数的加减乘除运算. (3)利用for循环产生30个运算式. 3.程序代码: //2016/3/3 王宗泽 #include<iostream> #include&

随机生成30道四则运算

设计思路: 1.生成随机数 ①找到生成随机数函数 ②控制随机数产生的范围 ③输出随机数 2.解决随机运算符问题 ①用生成的随机数除4取余加1得1,2,3,4四个数(分别表示+,-,*,/四个符号) ②运用switch输出符号 3.真分数的解决 ①分子小于分母 ②生成的分子随机数小于分母随机数 4.真分数和整数运算同时输出 ①再运用一次随机函数,用1和2分别代表整数和真分数 代码: //随机生成30个1~99的加减乘除运算,包括真分数#include<iostream>#include<t

随机生成30道四则运算程序分析

题目要求:随机生成30到四则运算题,其中不能超过2位运算,包含真分数. 问题细化: 1.循环30次 2.四则运算方式的表示,+,-,*,/ 3.真分数的产生 4.随机产生真分数之间或者整数之间以及真分数和整数之间的运算 细化分析: 1.循环30次 2.在循环中随机产生一个1-4的随机数,表示整数运算,真分数和整数之间的运算,还是真分数之间的运算 3.在确定后,在随机产生一个1-4的随机数表示使用哪种规则,+,-,*,/ 4.真分数表示使用两个随机数,要求分子比分母小,然后用“分子/分母”表示 以

随机生成30道四则运算题程序设计

编程思路: 因为是低年级四则运算题,我考虑出一些100以内的加减乘除,又是随机生成,所以用上了rand函数,又有选择性的用到了switch  case结构,达到30道题的无序性.而且针对减法和除法的特殊情况做了些细节考虑. 源代码: #include<iostream.h>#include<stdlib.h>int main(){ int a,b,c; for(int i=1;i<31;i++){ a=rand()%100; b=rand()%100; c=rand()%4;

随机生成30道四则运算题

思路:首先随机生成两个操作数.将运算符存到数组c中,随机生成0-3的整数作为数组下标.即相当于随机产生运算符. 利用for循环输出30道四则运算题 #include<iostream.h>#include<stdlib.h>int main(){     int a,b,d,i;     char c[4]={'+','-','*','/'};     for(i=0;i<30;i++)     {           a=int(rand()%11);           

30道小学二年级四则运算题

思路与体会:用rand函数产生随机数32767/327约等于100.2.排除了除数是0的错误, 但是仍有缺陷:减法会出现不够减结果是负数的情况! 运行结果总出现闪退情况,查阅资料后加了system("pause") 运行环境:vs2013 源代码: #include<iostream> using namespace std; #include<stdio.h> #include<stdlib.h>int rak(){ return rand() /