课后实验1--四则运算

Posted fightingyingzi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课后实验1--四则运算相关的知识,希望对你有一定的参考价值。

一、功能介绍

1.可以实现100以内的任意两个整数以及真分数的混合四则运算,随机数随时间变化不重复,且考虑到了被减数大于减数以及除数不能为零的情况等,可以自动输出20个不同的式子。

二、编程思想

1.首先写出随机数函数
2.产生两个随机数,调用随机数函数,真分数和整数各一个,利用随机数取余数来使这两个随机数进行组合。
3.利用随机数取余数来实现运算符的选择,其中除法要保证除数不为零,减法要保证被减数大于减数,利用相应的运算符与两个随机数组成的式子计算出结果。
4.利用循环实现20个四则运算式子的输出。

三、实验代码

//HaoYing 2016.3.3 信1301-2班 20132919
//四则运算小程序
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
 double n[4];
 int edg,choose,i,next;
 char mark;
 srand((int)time(NULL));//变换随机数
 for(next=0;next<20;next++)//每天设置20道四则运算
 {
  for(i=0;i<2;i++)
  {
   edg=(rand()%100)%2;
   if(edg==0)
    n[i]=rand()%100;//随机数范围【0,100】
   else
    n[i]=rand()%100/100.0;//随机真分数
  }
  choose=(rand()%100)%4;
  if(choose==0)
  {
   n[2]=n[0]+n[1];
      mark=‘+‘;
  }
  else if(choose==1)
  {
   if(n[0]>n[1])
   {
    n[2]=n[0]-n[1];
             mark=‘-‘;
   }
   else
   {
    n[3]=n[0];
       n[0]=n[1];
          n[1]=n[3];//使被减数大于减数
       n[2]=n[0]-n[1];
          mark=‘-‘;
   }
  }
  else if(choose==2)
  {
   n[2]=n[0]*n[1];
      mark=‘*‘;
  }
  else if(choose==3)
  {
   while(n[1]==0)//保证除数大于0
   {    
    edg=(rand()%100)%2;
    if(edg==0)
     n[1]=rand()%100;//随机数范围【0,100】
    else
     n[1]=rand()%100/100.0;//随机真分数
   }
   n[2]=n[0]/n[1];
   mark=‘/‘;
  }
  cout<<n[0]<<mark<<n[1]<<"="<<n[2]<<endl;//显示式子
 }
 return 0;
}

四、运行结果

技术分享

 

以上是关于课后实验1--四则运算的主要内容,如果未能解决你的问题,请参考以下文章

动手动脑及课后实验性问题

关于课堂动手动脑以及课后实验性的问题的总结整理

课程中的所有动手动脑问题以及课后实验性问题

课后练习——计算器运算

课后作业02-2-课程中的所有动手动脑的问题以及课后实验性的问题,整理成一篇文档。

课后作业1