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

Posted 无痕公子的丸子头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机生成30道四则运算题目相关的知识,希望对你有一定的参考价值。

题目要求:随机生成两位数的四则运算题目,支持真分数。

初次拿到题目时会无从下手,我们可以用一些浅显的话对问题进行分解,分解成一个个能够我们解决的小问题:

  1. 用函数随机生成一个数,取整,再规范位数不能超过十位数,一定要调用时间种子,以防生成伪随机数
  2. 生成运算符

         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道四则运算题目的主要内容,如果未能解决你的问题,请参考以下文章

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

程序实现自动生成30道四则运算题目

实现自动生成30道四则运算题目

随机生成30道四则运算

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

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