课后实验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;
}

四、运行结果

时间: 2024-07-31 14:26:36

课后实验1--四则运算的相关文章

5.2 5.3 实验五 四则运算

5.2 5.3 实验五 四则运算编译环境 Eclipse集成开发环境+java开发人员         李泳江       学号 201306114314            队友  邵家文        学号 201306114322         博客:http://www.cnblogs.com/shaojiawen/ 心得:这次跟家文在一次完成5.2,5.3 实验五感到很开心,因为我们的大家一起合作,一起学习很高兴.随着我们合作的时间越长,我们的开发效率也增加了不少.但是,我们依然发

结对子实验——小学生四则运算

实验开始时间:4月7日~4月9日 本次实验的组员分别是:郑泽成http://www.cnblogs.com/Oliver-zzc/,李天麟http://www.cnblogs.com/talent-demonic/: 1.代码是在Eclipse环境下开发的 2.在这次实验中我负责了写四则运算的算术代码和检查算法 同伴负责面板的设计和监听事件的实现 3.实现扩展方向有:用户在第一次答题时,需要用户输入用户名:程序可以设置答题时间,时间设置为整数,单位为秒:答题结束可以显示用户答错的题目个数和答对的

实验二----四则运算--结对

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Calendar; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOpti

实验二 四则运算 未完成版

package size; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListe

课后实验4--返回一个整数数组中最大子数组的和

伙伴链接:http://www.cnblogs.com/chengqiqin07/ 一.设计思想 本实验要求输入一个正负数混合的整型数组,长度不限,在此数组的所有子数组中找到和最大的数组,并求出相应数组的和,且时间复杂度为O(n).我们在课堂上共同讨论了多种解决方案,这些将在下面可能的解决方案中展示,在听了同学的思路和老师的讲解之后, 我们最终选取了老师课堂上描述的比较简便的思路.如下: 在输入数组的环节,采用for无限循环加if判断截止,直到触发回车键为止,将数组记录到Array中,数组长度记

第五次课后实验

实验5:数组 本次实验是第三次上机,属于验证设计性实验,通过本次实验学生将掌握以下内容: 1. 知道怎么样声明.创建和初始化各种类型的数组 2. 理解二维数组的概念,能够声明.创建和初始化各种类型的二维数组 3. 掌握对一维或二维数组元素的访问方法 4. 掌握不规则二维数组的声明.创建和初始化以及访问的方法了解Arrays类及System类中关于数组操作的方法的使用 [实验任务一]:验证课件例子中源程序并标识不理解的地方(验证型). 1. 实验要求: 1) 调试课件中例子中的源程序代码并分析程序

动手动脑及课后实验

一. 运行结果: 结论: 枚举类型是引用类型! 枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象.相同的值则引用同一个对象. 可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的. 二. 输出结果: 三.动手实验 输出结果: 结论: 使用double类型的数值进行计算,  其结果是不精确的. 为什么double类型的数值进行运算得不到“数学上精确”的结果? N进制可以理解为:数值×基数的幂,例如我们熟

java动手动脑和课后实验型问题String类型

1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? true true false 总结: 使用new关键字创建字符串对象时, 每次申请新开辟一个地址空间,存储的地址空间不一样(对象不同),string类型下hello是同一个对象,其内容和地址都相容. 2. public class StringEquals { /** * @param args the command line arguments */ public stati

实验二 四则运算 完成版 ver.1

package size; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListe