四则运算题1

/*
信息:20133075   张勋  《随机生成30道四则运算题目》

要求:除整数外,还要支持真分数的四则运算

设计思路:
  1.通过radom函数生成自然数,给变量赋值
  2.另一个变量是真分数,分子比分母小
  3.随机生成四则运算符
  4.注意除数为0情况
注意:
   这是两个函数!一个是srand函数!这是在调用rand()这个函数之前使用的!
rand()是一个产生随机数的函数!而srand是一个设置随机数种子的函数!通常这两
个函数是一起使用的!来完成产生随机数的功能!而time(NULL)这个函数的返回值是作
为srand函数的参数的!意思是以现在的系统时间作为随机数的种子来产生随机数!至
于NULL这个参数。只有设置成NULL才能获得系统的时间!
*/

 1 #include<iostream>
 2 #include<time.h>
 3 #include<string>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     //以现在的系统时间作为随机数的种子来产生随机数
 9     srand(time(NULL));
10     char X;
11     
12     cout << "请您选择四则运算题的难度:(1或2)\n" ;
13     cout << "1.简单(纯整数的运算)\n"<<"2.困难(包含真分数的四则运算)\n";
14     cin >> X;
15 
16     //1.简单(纯整数的运算)
17     if (X == '1')
18     {   
19         
20         for (int count = 0; count < 30;count++)
21         {
22             int a = 0, b = 0;
23 
24             a = rand() % 100;
25             b = rand() % 100;
26 
27             //随机产生四则运算符
28             int sign = 0;
29             sign = (rand() % 100) % 4;
30             string opera_sign[4] = { "+", "-", "*", "/" };
31 
32             //当b=0且运算为除法时重新生成
33             while (b == 0 & sign == 3)
34             {
35                 b = rand() % 100;
36             }
37 
38             switch (sign)
39             {
40             case 0:cout << a << opera_sign[sign] << b << "=" << endl; break;
41             case 1:cout << a << opera_sign[sign] << b << "=" << endl; break;
42             case 2:cout << a << opera_sign[sign] << b << "=" << endl; break;
43             case 3:cout << a << opera_sign[sign] << b << "=" << endl; break;
44             }
45         }
46     }
47             
48 
49         //2.困难(包含真分数的四则运算)
50     if (X == '2')
51     {
52         for (int count = 0; count < 30; count++)
53             {
54                 int a1 = 0, b1 = 0, a2 = 0, b2 = 0;
55 
56                 a1 = rand() % 100;
57                 b1 = rand() % 100;
58                 a2 = rand() % 100;
59                 b2 = rand() % 100;
60 
61                 //判断是否为真分数
62                 while (a1>b1||b1==0)
63                 {
64                     a1 = rand() % 100;
65                     b1 = rand() % 100;
66                 }
67 
68                 while (a2>b2||b2==0)
69                 {
70                     a2 = rand() % 100;
71                     b2 = rand() % 100;
72                 }
73 
74                 //随机产生四则运算符
75                 int sign = 0;
76                 sign = (rand() % 100) % 4;
77                 string opera_sign[4] = { "+", "-", "*", "/" };
78 
79                 switch (sign)
80                 {
81                 case 0:cout << "(" << a1 << "/" << b1 << ")" << opera_sign[sign] << "(" << a2 << "/" << b2 << ")" << "=" << endl; break;
82                 case 1:cout << "(" << a1 << "/" << b1 << ")" << opera_sign[sign] << "(" << a2 << "/" << b2 << ")" << "=" << endl; break;
83                 case 2:cout << "(" << a1 << "/" << b1 << ")" << opera_sign[sign] << "(" << a2 << "/" << b2 << ")" << "=" << endl; break;
84                 case 3:cout << "(" << a1 << "/" << b1 << ")" << opera_sign[sign] << "(" << a2 << "/" << b2 << ")" << "=" << endl; break;
85                 }
86         }
87     }
88                 
89 }

 

运行程序后,会产生如下提示:

选择简单,可产生:

 

选择困难级别,可产生真分数运算:

 

本道题,需要注意的是:对 srand(time(NULL))函数的使用,可以保证每次运行时,系统产生的结果不一样!

 这是两个函数!一个是srand函数!这是在调用rand()这个函数之前使用的!
rand()是一个产生随机数的函数!而srand是一个设置随机数种子的函数!通常这两
个函数是一起使用的!来完成产生随机数的功能!而time(NULL)这个函数的返回值是作
为srand函数的参数的!意思是以现在的系统时间作为随机数的种子来产生随机数!至
于NULL这个参数。只有设置成NULL才能获得系统的时间!
*/

转载于:https://www.cnblogs.com/X-knight/p/5248250.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

H264中的SPS、PPS提取与作用

From: http://blog.csdn.net/sunnylgz/article/details/7680262 牛逼的视频会议网站&#xff1a;http://wmnmtm.blog.163.com/blog/#m0 http://wmnmtm.blog.163.com/blog/static/38245714201192491746701/ 使用RTP传输H264的时候,需要用到sdp协议描述,其中有两项:Sequence Pa…

H264参数语法文档: SPS、PPS、IDR

From: http://blog.csdn.net/heanyu/article/details/6205390 H.264码流第一个 NALU 是 SPS&#xff08;序列参数集Sequence Parameter Set&#xff09; 对应H264标准文档 7.3.2.1 序列参数集的语法进行解析 SPS参数解析// fill sps with content of p[cpp] view plaincopyint …

React封装一个组件弹出框

目录 前言 代码 简要 引用 效果 前言 我是歌谣 放弃很容易 但是坚持一定很酷 为了保证react代码的一个简洁性 最近开始封装组件, 直接上代码 因为都很简单的模式 这边直接进行讲解 代码 //取消机构和取消讲师的方法封装 //params visible控制弹框的一个现实和隐藏 import…

Pytorch项目(模型训练与优化),肺癌检测项目之六

数据优化方案 数据优化方案1&#xff1a;重复抽样 &#xff08;1&#xff09;对多数类的样本实施欠采样&#xff0c;减少多数类数量 &#xff08;2&#xff09;对少数类的样本实施过采样&#xff0c;增加少数类数量 数据优化方案2&#xff1a;数据增强 数据增强&#xff08…

【数据库】SQL查询强化篇

查询是数据库的基本应用之一&#xff0c;oracle中的SQL查询语法&#xff0c;一方面遵循了SQL标准&#xff0c;另一方面又有自己的独特之处。 从而使得oracle中的SQL查询功能更加强大。接下来将会涉及oracle中的SQL查询语句&#xff0c;包括&#xff1a; 基本查询&#xff1a;主…

[python3] pyton socket 同步通信举例

本文比较简单&#xff0c;适合入门用&#xff0c;作个笔记&#xff0c;方便日后抄写 一个服务端&#xff0c;一个客户端&#xff0c;而且是阻塞方式&#xff0c;一次只能接受一个客户端连接并通信噢。 客户端发送‘bye, 结束与服务端的通信&#xff0c;如果发送’shutdown&…

第三周仿真作业

1.设计要求 结合本周学习的直流电机机械特性&#xff0c;用Modelica设计和仿真一个直流电机串电阻启动过程&#xff0c;具体要求如下&#xff1a; 1&#xff09;电机工作在额定电压和额定磁通下&#xff0c;采用串三段或四段电阻启动&#xff0c;整个启动过程电枢电流中不能超过…

分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容

问题的产生 在写JS的过程中&#xff0c;为了调试我们常常会写很多 console.log、console.info、console.group、console.warn、console.error代码来查看JS的运行情况&#xff0c;但发布时又因为IE不支持console&#xff0c;又要去掉这些代码&#xff0c;一不小心就会出错。 本文…

OS X 平台的 8 个终端实用工具

From: http://blog.jobbole.com/72238/ 本文由 伯乐在线 - shinancao 翻译自 mitchchn。欢迎加入iOS小组。转载请参见文章末尾处的要求。 OS X 终端对外开放了许多很强大的UNIX实用工具和脚本。如果你是从Linux转过来的&#xff0c;你会发现许多熟悉的命令正是按照你想的那样…

内存操作流

可以将输出的位置设置在内存上&#xff0c;此时就要使用ByteArrayInputStream、ByteArrayOutputStream来完成输入和输出功能。 ByteArrayInputStream主要完成将内容写入到内存中 ByteArrayOutputStream的功能主要是将内存中的数据输出 import java.io.ByteArrayInputStream; im…

mysql 中 group_concat()用法

基本语法&#xff1a;group_concat([DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator 分隔符]) 初始数据&#xff1a; 以name分组&#xff0c;将money打印在一行&#xff0c;默认,分隔&#xff1a; select aa.namename , GROUP_CONCAT( money ) money from a…

H264(NAL简介与I帧判断)

From: http://blog.csdn.net/jefry_xdz/article/details/8461343 1、NAL全称Network Abstract Layer, 即网络抽象层。 在H.264/AVC视频编码标准中&#xff0c;整个系统框架被分为了两个层面&#xff1a;视频编码层面&#xff08;VCL&#xff09;和网络抽象层面&#…

让VS2010添加新类时自动添加public关键字(来自dudu博文)

以下是dudu 老大的详细步骤&#xff1a; http://www.cnblogs.com/dudu/archive/2011/08/30/2159894.html 里面有一个重要步骤&#xff0c;如何修改模板class.cs文件&#xff0c;请看下面截图 1、下载一个解压软件7-zip_9.25Alpha&#xff08;本人是win7 64位&#xff0c;不支持…

H.264视频编码在VC++.Net中的实现

From: http://blog.csdn.net/xwchen/article/details/5052981 引言&#xff1a;H.264编码技术是俱乐部在过去一段时间内研究的一个方向,对该编码技术进行过实际的开发和应用&#xff0c;并取得了很大的收获。下面将重点介绍H.264视频编码在VC.Net中的实现。 1. H.264编码的介…

TCP/IP ---封装与分用

封装 当应用程序用T C P传送数据时&#xff0c;数据被送入协议栈中&#xff0c;然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息&#xff08;有时还要增加尾部信息&#xff09;&#xff0c;该过程如图1 - 7所示。T C P传给I P的数…