四则运算题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,一经查实,立即删除!

相关文章

Redux/Mobx面试题汇总

[Redux/Mobx] redux和flux的区别是什么&#xff1f; [Redux/Mobx] 什么是redux&#xff1f;说说你对redux的理解&#xff1f;有哪些运用场景&#xff1f;[Redux/Mobx] 在React中你是怎么对异步方案进行选型的&#xff1f; [Redux/Mobx] 推荐在reducer中触发Action吗&#xff…

RTP传输H264时的sps和pps的获取

From: http://wmnmtm.blog.163.com/blog/static/38245714201192491746701/ 使用RTSP传输H264的时候,需要用到sdp协议描述,其中有两项:Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)需要用到,那么这两项从哪里获取呢?答案是从H264码流中获取.在H264码流中,都是…

54.施工方案第二季(最小生成树)

时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description c国边防军在边境某处的阵地是由n个地堡组成的。工兵连受命来到阵地要进行两期施工。 第一期的任务是挖掘暗道让所有地堡互联互通。现已勘测设计了m条互不相交的暗道挖掘方案&a…

jQuery面试题汇总

【jQuery】 [jQuery] 针对jQuery的优化方法有哪些&#xff1f; [jQuery]JQuery一个对象可以同时绑定多个事件&#xff0c;这是如何实现的&#xff1f; [jQuery] jQuery中如何将数组转化为json字符串&#xff0c;然后再转化回来&#xff1f; [jQuery] jQuery UI怎样自定义组…

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…

POJ 3991 Seinfeld

Seinfeld Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1285 Accepted: 599 Description I’m out of stories. For years I’ve been writing stories, some rather silly, just to make simple problems look difficult and complex problems look easy. …

HTML面试题汇总

【HTML】 [html] 你有使用过MediaRecorder吗&#xff1f;说说它的运用场景有哪些&#xff1f; [html] 进入编辑页面时&#xff0c;如何把光标聚焦到第一个input&#xff1f; [html] 如何给input的右上角加个清除的按钮 [html] 举例说明只用html和css如何使得一个列表编号倒…

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 …

悬浮动态分层导航

1、首先在<head>里面引用一个JQUERY的文件以用来制作鼠标点击动画效果&#xff08;从网站上下载即可&#xff09; 1 <script language"javascript" type"text/javascript" src"js/jquery-1.4.2.min.js"></script> 2、插入div&…

[Redux/Mobx] Redux怎么添加新的中间件?

[Redux/Mobx] Redux怎么添加新的中间件&#xff1f; applyMiddleware 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

php操作xml

<?php $xmlfile_get_contents("c.xml"); $simplenew SimpleXMLElement($xml); //var_dump($simple); //1查询 echo "<table border1>"; foreach ($simple->book as $book) {$attr$book->attributes();//获取节点属性echo "<tr>…

h264 图像、帧、片、NALU

From: http://blog.csdn.net/zqnihao917/article/details/7760170 图像、帧、片、NALU 是学习 H.264的人常常感到困惑的一些概念&#xff0c;我在这里对自己的理解做一些阐述&#xff0c;欢迎大家讨论&#xff1a;H.264 是一次概念的革新&#xff0c;它打破常规&#xff0c;完全…

Vue面试题汇总目录

【Vue】 [vue] vue组件里的定时器要怎么销毁&#xff1f; [vue] &#xff1c;template&#xff1e;&#xff1c;/template&#xff1e;有什么用&#xff1f; [vue] 你有使用过JSX吗&#xff1f;说说你对JSX的理解 [vue] 使用vue渲染大量数据时应该怎么优化&#xff1f;说下…

EXEC与sp_executesql的区别及应用

execute&#xff0c;简写为exec,除了用来执行存储过程&#xff0c;一般都用来执行动态Sql sp_executesql&#xff0c;sql2005中引入的新的系统存储过程&#xff0c;也是用来处理动态sql的,如&#xff1a; exec sp_executesql sql, Ncount int out,id varchar(20), cou out ,i…

React封装一个组件弹出框

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

h264 Nalu 详解

From: http://blog.csdn.net/d_l_u_f/article/details/7260772 1&#xff0e;引言 H.264的主要目标&#xff1a; 1&#xff0e;高的视频压缩比 2&#xff0e;良好的网络亲和性 解决方案&#xff1a; VCL video coding layer 视频编码层 NAL network abstraction layer …

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

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

Oracle 中文排序

按照拼音顺序(常用) ORDER BY nlssort(NAME, NLS_SORTSCHINESE_PINYIN_M) 按照部首顺序 ORDER BY nlssort(NAME, NLS_SORTSCHINESE_RADICAL_M) 按照笔画顺序 ORDER BY nlssort(NAME, NLS_SORTSCHINESE_STROKE_M) 转载于:https://www.cnblogs.com/xcxcxcxc/p/554…

mac苹果屏幕截图快捷键

From: http://blog.csdn.net/w88193363/article/details/12647233 一般在Mac上用Command-Shif-3/4来截图。注&#xff1a;Command苹果键 其实还有几个辅助键&#xff0c;来起到不同的截图功能…… 011)Command-Shift-3&#xff08;适用于OS9,10.1X和10.2&#xff09; 02将整…