随机生成30道四则运算题目
Posted 无痕公子的丸子头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机生成30道四则运算题目相关的知识,希望对你有一定的参考价值。
题目要求:随机生成两位数的四则运算题目,支持真分数。
初次拿到题目时会无从下手,我们可以用一些浅显的话对问题进行分解,分解成一个个能够我们解决的小问题:
- 用函数随机生成一个数,取整,再规范位数不能超过十位数,一定要调用时间种子,以防生成伪随机数
- 生成运算符
2.1用1、2、3、4分别代表加减乘除,随机数除四取余
3.生成第三个随机数
4.对真分数进行生成
5.判断生成真分数还是整数
6.进行输出
7.循环30次
#include<iostream> using namespace std; #include<stdio.h> #include<stdlib.h> #include<time.h> void main() { int i,j; srand((int)time(NULL)); for (int i = 1; i < 31; i++) { cout << "第" << i << "道题是:"; int a = (int)j = (rand() * 100) / RAND_MAX ; int b = (int)j = (rand() * 100) / RAND_MAX ;//随机生成四个运算符的其中一个 int c = b % 4; int d = (int)j = (rand() * 100) / RAND_MAX ; //真分数生成: int e = (int)j = (rand() * 100) / RAND_MAX ; int f = (int)j = (rand() * 100) / RAND_MAX ; double A[2]; for (int x = 0; x < 2; x++)//生成两个真分数 { if (e < f) { A[x] = e / f; } else { A[x] = f / e; } } float g = A[0], h = A[1]; int m = b % 2; if (m = 1)//整数的四则运算 { switch (c) { default: break; case 0:cout << a << "+" << d << "=" << endl; break; case 1:cout << a << "-" << d << "=" << endl; break; case 2:cout << a << "*" << d << "=" << endl; break; case 3:cout << a << "/" << d << "=" << endl; break; } } else//真分数的四则运算 { switch (c) { case 0:cout << g << "+" << h<< "=" << endl; break; case 1:cout << g<< "-" << h<< "=" << endl; break; case 2:cout << g<< "*" << h << "=" << endl; break; case 3:cout << g<< "/" << h<< "=" << endl; break; } } } }
以上是关于随机生成30道四则运算题目的主要内容,如果未能解决你的问题,请参考以下文章