随机生成30道四则运算

设计思路:

1.生成随机数

①找到生成随机数函数

②控制随机数产生的范围

③输出随机数

2.解决随机运算符问题

①用生成的随机数除4取余加1得1,2,3,4四个数(分别表示+,-,*,/四个符号)

②运用switch输出符号

3.真分数的解决

①分子小于分母

②生成的分子随机数小于分母随机数

4.真分数和整数运算同时输出

①再运用一次随机函数,用1和2分别代表整数和真分数

代码:

//随机生成30个1~99的加减乘除运算,包括真分数
#include<iostream>
#include<time.h>
using namespace std;
void main()
{
int num,num1, num2,num3,num4, fuhao, i,a=0,b=0,c=0,d=0,e;
srand((int)time(NULL));//随机种子
for (i = 0; i < 30; i++)
{
num1 = 1 + rand() % 100;//将1到100内的数随机赋予num1
num2 = 1 + rand() % 100;//将1到100内的数随机赋予num2
num3 = 1 + rand() % 100;//将1到100内的数随机赋予num3
num4 = 1 + rand() % 100;//将1到100内的数随机赋予num4
num = 1 + rand() % 2;//随机生成1或2分别表示整数和分数
if (num = 1)
{
fuhao = num1 % 4 + 1;
cout << num1;
switch (fuhao)
{
case 1:cout << "+"; break;
case 2:cout << "-"; break;
case 3:cout << "×"; break;
case 4:cout << "÷"; break;
}
cout << num2 << "=" << endl;
}
if(num=2)
{
a = num1;
b = num2;
if (num1 > num2)
{
e = a;
a = b;
b = e;
}
cout << "("<<a << "/" << b<<") ";
fuhao = num1 % 4 + 1;
switch (fuhao)
{
case 1:cout << "+"; break;
case 2:cout << "-"; break;
case 3:cout << "×"; break;
case 4:cout << "÷"; break;
}
c = num3;
d = num4;
if (num3 > num4)
{
e = c;
c = d;
d = e;
}
cout <<"("<< c << "/" << d<<")"<<"="<<endl;
}
}
}

时间: 2024-10-11 04:46:22

随机生成30道四则运算的相关文章

软件工程课堂练习-随机生成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道四则运算-NEW

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

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

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

随机生成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道四则运算题程序设计

编程思路: 因为是低年级四则运算题,我考虑出一些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道四则运算(一)

#include<iostream>#include<math.h>#include<time.h>using namespace std;void main(){ srand(time(0)); int a, b, c; for (int i = 0; i < 30; i++)  {      a = rand() % 100;      b = rand() % 100;      c = rand() % 4;      if (c == 0)      {

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

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

软件工程课后作业——用JAVA编写的随机产生30道四则运算

1 package com.java.sizeyunsuan; 2 3 public class lianxi { 4 String f() 5 { 6 int i=(int)(Math.random()*10); 7 int j=(int)(Math.random()*10); 8 if(i>=j) 9 { 10 int temp=i; 11 i=j; 12 j=temp; 13 } 14 return(i+"/"+j); 15 } 16 public static void

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

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