首页 > 其他分享 >四则运算

四则运算

时间:2023-04-06 16:36:44浏览次数:30  
标签:rand 函数 300 四则运算 随机数 include

组员:2152304  2141104

一:实验目的:

小学老师要每周给同学出300道四则运算练习题

二:实验环境

Windows 11

devc++

语言:c++语言

三:实验内容

1.c++实现300道四则运算

2.答案在100内

3.两个运算符号

四:实验结果截图

程序主界面:

 

 1.输入1,进入主功能输出产生300道四则运算

 

 2.输入2,退出系统

 

 五:实验总结与体会

思路:我们是将加减乘除分为四个函数,在主函数中用一个随机数对4取余随机进入四则运算,并嵌套循环300次来输出三百道四则运算题。

纠错与体会:

1.原先我们准备在一个主函数中实现全部功能,后来把加减乘除都封装在4个函数中,增强了代码的可读性

2.一开始用if函数直接对除数进行限定,后来另一个同学发现了其中的问题,应该用while循环才能得到最终符合条件的随机数,否则函数直接就结束了

3.void plus()函数在编译过程中出现问题,和库函数重名,改为void plus_()解决。

4.如何随即生成四则运算,我们一起经过讨论决定再引入一个随机数,通过随机数取余进入不同的运算函数

5.随机数的产生使用rand()函数,头文件#include<stdlib.h>,rand()%101得到的就是100以内的数字。

结对编程带给我们最大的感受就是,在进行编程前要先一起理清思路该怎么去写,在写的过程中对方也可以对我的一些粗心小错误进行纠察,在一些难点上一起商讨也更容易提出更合适的解决方案。

源码:

#include<iostream>

#include<stdlib.h>

using namespace std;


void plus_(){

while(1){

int x=rand()%101;

int y=rand()%101;
if(x+y<=100){
cout<<x<<"+"<<y<<"="<<endl;
break;      }

        }

}

void subtract(){

while(1){

int x=rand()%101;

int y=rand()%101;

if(x-y<=100&&x-y>=0){

cout<<x<<"-"<<y<<"="<<endl;

break;

}

}

}

void multipy(){

int i,j,k;

while(1){

i=rand()%101;

j=rand()%101;

k=i*k;

if(k<=100){

cout<<i<<"*"<<j<<"="<<endl;

break;

}

}

}

void divide(){

int i,j,k;

while(1){

i=rand()%101;

j=rand()%101;

if(j!=0&&i/j<=100){

cout<<i<<"/"<<j<<"="<<endl;

break;

}

}

}


int main(){

while(true){

cout<<"300道四则运算--1"<<endl;

cout<<"退出-----------2"<<endl;


int n=0;

cout<<"请输入你的选择:"<<endl;

cin>>n;

if(n==1){


for(int i=0;i<300;i++){

int num=rand()%101;

int chose;

chose=num%4;


if(chose==1)

{

plus_();

}

else if(chose==2)

{

subtract();

}

else if(chose==3)

{

multipy();

}

else divide();

}

}

else return 0;
}
}

  

标签:rand,函数,300,四则运算,随机数,include
From: https://www.cnblogs.com/han4499/p/17293172.html

相关文章

  • PAT Basic 1034. 有理数四则运算
    PATBasic1034.有理数四则运算1.题目描述:本题要求编写程序,计算2个有理数的和、差、积、商。2.输入格式:输入在一行中按照 a1/b1a2/b2 的格式给出两个分数形式......
  • 四则运算
    在Eclipse中配置Junit的方法: 1、在要使用Junit的project名上,点击properties--javabuildpath-libraries,点击Addlibrary,选择Junit即可。点击Addlibrary,在弹出的对......
  • 四则运算
    package软件工程;importjava.util.Scanner;publicclassszys{publicstaticvoidmain(String[]args){booleana=true;while(a==true){Sc......
  • C++实现分数四则运算
    #include<iostream>usingnamespacestd;//辗转相除法求最大公约数(12和18的最大公约数:6)intgcd(inta,intb){a=(a<0)?(a=-a):(a=a);b=(......
  • C# 泛型里使用四则运算的办法,委托的妙用
    直接上代码publicstaticclassTestGenricCalc{publicstaticTClac<T>(Tt1,Tt2,Func<T,T,T>func)whereT:struct{return......
  • 高精度四则运算
    算法学习的第三天算法学习之高精度四则运算高精度算法(HighAccuracyAlgorithm)是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然......
  • C/C++四则运算表达式的求值系统[2023-01-18]
    C/C++四则运算表达式的求值系统[2023-01-18]四则运算表达式的求值系统设计(四选一选做部分)(1)结合基本操作,建立运算表达式的二叉树,输出树的前中后序遍历的结果,例如[(31-23)......
  • 四则运算——todo,自己写一遍
    四则运算表达式 转载请注明链接:http://www.cnblogs.com/heyonggang/p/3359565.html 代码实现:https://www.cnblogs.com/oucbl/p/12556192.html......
  • 参考题目2——四则运算(一)
    (1)题目要求1.题目避免重复;2.可定制(数量/打印方式);3.输入大的数量值,测试一下系统是否崩溃,反向查找系统是否优化的余地;4.定制操作数的个数;5.定制是否有乘除法;6.定制是否有括号......
  • 参考题目3——四则运算(二)
    (1)题目要求1.定义方法验证题目是否重复;并将出题参数用子方法定义。2.定义随机数生成器子方法,根据出题参数(出题个数、操作数的个数、确定操作数的取值范围)生成全部的随机操作......