首页 > 编程语言 >结对编程-小学生四则运算题目生成

结对编程-小学生四则运算题目生成

时间:2023-04-10 21:11:16浏览次数:31  
标签:case rand 结对 编程 com1 sum 四则运算 break com2

这次结对编程我是跟学号为2152520的朋友一起进行的四则运算题目生成的编程的。

这次我们采用的编程语言是c++

编程要求为:题目均为两次的运算,大小限制在一百以内的数字,且答案需要坐落在0~100之间(不显示出答案)。

代码演示:

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
int a,b,c,op1,op2;
char s[4]={'+','-','*','/'};
char com1,com2;
double sum;
for(int i=0;i<300;i++){
a=rand()%100+1;
b=rand()%100+1;
c=rand()%100+1;
op1=rand()%4;
op2=rand()%4;
com1=s[op1];
com2=s[op2];
if(com1=='+'){
switch(com2){
case '+':sum=a+b+c;break;
case '-':sum=a+b-c;break;
case '*':sum=a+b*c;break;
case '/':sum=a+b/c;break;
}
}
if(com1=='-'){
switch(com2){
case '+':sum=a-b+c;break;
case '-':sum=a-b-c;break;
case '*':sum=a-b*c;break;
case '/':sum=a-b/c;break;
}
}
if(com1=='*'){
switch(com2){
case '+':sum=a*b+c;break;
case '-':sum=a*b-c;break;
case '*':sum=a*b*c;break;
case '/':sum=a*b/c;break;
}
}
if(com1=='/'){
switch(com2){
case '+':sum=a/b+c;break;
case '-':sum=a/b-c;break;
case '*':sum=a/b*c;break;
case '/':sum=a/b/c;break;
}
}
if(sum<0||sum>100) i--;
if(sum>=0 && sum<=100) cout<<i+1<<". "<<a<<com1<<b<<com2<<c<<"="<<endl;
}
}

 

标签:case,rand,结对,编程,com1,sum,四则运算,break,com2
From: https://www.cnblogs.com/xzh408/p/17304308.html

相关文章

  • 异步编程的终极方案
    async和await实际上就是让我们像写同步代码那样去完成异步操作await表示强制等待的意思,await关键字的后面要跟一个promise对象,它总是等到该promise对象resolve成功之后执行,并且会返回resolve的结果  上面代码会等待5秒之后,弹出5     ......
  • MyBatisPlus——DML编程控制——乐观锁
    乐观锁业务并发现象带来的问题:秒杀最后一单用于中小型项目(2000请求以下)添加一个数据库字段,使每次请求修改数据时,这个字段就加一,当有多人同时请求时,这些人同时获取到的都是相同的该字段,但当有一人完成了秒杀后字段加一,其他同时获取到的该字段就不匹配了配置步骤数据库表中......
  • MybatisPlus——DML编程控制——增删改
    DML编程控制id生成策略控制不同的表应用不同的id生成策略日志:自增(1,2,3,4,......)购物订单:特殊规则(FQ23948AK3843)外卖单:关联地区日期等信息(1004202003143491)关系表:可省略id......注解控制@TableId类型:属性注解位置:模型类中用于表示主键的属性定义上方作用:设置......
  • 命令式编程\声明式编程\函数式编程
    命令式编程(Imperative):详细的命令机器怎么(How)去处理一件事情以达到你想要的结果(What);声明式编程(Declarative):只告诉你想要的结果(What),机器自己摸索过程(How)。命令式编程是我们一步一步告诉机器需要怎么做,机器按部就班地执行命令。声明式编程是我们告诉机器我想要这样的结果,而不管他是怎......
  • C#编程之c#串口(winform、wpf)
    本文主要向大家介绍了C#编程之c#串口通信讲解(一)(winform、wpf),通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。串口操作需要注意的几点如下:1、如果是USB转串口;则需要安装USB转串口驱动,附件有此驱动。2、串口打开状态最好不要直接插拔串口,可能会导致中控板或者串口线烧坏。......
  • VS2019使用C语言进行websocket编程
    一直在写C#代码好多年不写C语言代码了,记录一下之前某个项目里用C写的一个websocket服务,用C的优势是写的东西体积小性能高,但是写业务的话还得用C#、Java之类的语言,不然会折腾死人。。。 用VisualStudio新建一个C++(因为不能直接建C语言项目)项目,我演示就创建一个控制台项目。项......
  • java并发编程(2):Java多线程-java.util.concurrent高级工具
    高级多线程控制类Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent,提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。ThreadLocal类ThreadLocal类用来保存线程的独立变量。对一个线程类(继承自Thread)当使用ThreadLocal维护变......
  • java并发编程(1):Java多线程-基本线程类-基础知识复习笔记
    复习资料:《同步与异步:并发/并行/进程/线程/多cpu/多核/超线程/管程 》基本线程类基本线程类基本线程类指的是Thread类,Runnable接口,Callable接口继承Thread创建线程继承java.lang.Thread类创建线程是最简单的一种方法,也最直接。publicclassMyThread1extendsThread{}种......
  • Rust编程语言入门之cargo、crates.io
    cargo、crates.io本章内容通过releaseprofile来自定义构建在https://crates.io/上发布库通过workspaces组织大工程从https://crates.io/来安装库使用自定义命令扩展cargo一、通过releaseprofile来自定义构建releaseprofile(发布配置)releaseprofile:是预......
  • NOI / 1.8编程基础之多维数组 04:错误探测
    描述给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。"改变矩阵元素"的操作定义为0变成1或者1变成0。输入输入n+1行,第1行为矩阵的大小n(0<n<100),以......