随机实现100以内的的加减乘除运算

2024-09-02 16:58

本文主要是介绍随机实现100以内的的加减乘除运算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

算法思想:
(1) 产生两个随机数
(2) 产生一个运算符
(3) 用户输入答案
(4) 验证答案正确与否
(5) 转(1) 重复执行

主函数中用到了srand(time(NULL))上百度查了一下和随机产生有关。如果在程序运行时没有自主设置种子的话,用函数rand产生的随机数序列会是一样的。
而用srand设置随机数种子后,可能产生不同的随机序列(概率很大)。

int main()
{int number = 2;int choice;srand(time(NULL));do{ShowMenu();choice = getchar();getchar(); //清除行尾回车switch(choice){case '1':case '2':case '3':case '4':case '5':Arithmetic(choice,number);break;case '6':cout<<"输入题目数:";cin>>number;getchar();}}while(choice!='0');return 0;
}
主函数中调用了两个函数:菜单函数ShowMenu和四则运算函数Arithmetic。

菜单函数

void ShowMenu()
{cout<<"***********************"<<endl;cout<<"*     1- 加法         *"<<endl;cout<<"*     2- 减法         *"<<endl;cout<<"*     3- 乘法         *"<<endl;cout<<"*     4- 除法         *"<<endl;cout<<"*     5- 混合运算     *"<<endl;cout<<"*     6- 设置题目数   *"<<endl;cout<<"*     0- 退出         *"<<endl;cout<<"***********************"<<endl;
}

四则运算函数中用了随机产生 rand()%101。 rand()是随机取一个整数,再摸101,就是取余数。合起来的意思就是在0-100的范围内随机取一个整数。

运用循环控制题目次数。

void Arithmetic(int kind,int number)
{int i;int answer,result;char str[80];int score=0;int operand1,operand2,operator1;cout<<"四则运算,题目数:"<<number<<endl;for(i=0; i<number; i++)//控制程序的题目数{operand1 =rand()%101;//产生1到100内的随机数operand2 =rand()%101;switch(kind){case '1':operator1=1;break;case '2':operator1=2;break;case '3':operator1=3;break;case '4':operator1=4;break;default:operator1=rand()%4+1;//operator1为1到5之间的随机数}switch(operator1){case 1:cout<<operand1<<"+"<<operand2<<"=";result =operand1+operand2;break;case 2:cout<<operand1<<"-"<<operand2<<"=";result =operand1-operand2;break;case 3:cout<<operand1<<"*"<<operand2<<"=";result =operand1*operand2;break;case 4:if(operand2==0) //注意除数为0operand2=1;operand1 = operand1 * operand2;cout<<operand1<<"/"<<operand2<<"=";result =operand1/operand2;}//cin>>answer;cin.getline(str,80);//answer = atoi(str);sscanf(str,"%d",&answer);if(answer==result)score+=10;}cout<<"您的得分:"<<score<<endl;cout<<"按任意键返回!";getch();cout<<endl;
}

再加上相应的头文件

#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;

就可以了。






这篇关于随机实现100以内的的加减乘除运算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130536

相关文章

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

uva 575 Skew Binary(位运算)

求第一个以(2^(k+1)-1)为进制的数。 数据不大,可以直接搞。 代码: #include <stdio.h>#include <string.h>const int maxn = 100 + 5;int main(){char num[maxn];while (scanf("%s", num) == 1){if (num[0] == '0')break;int len =

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现