题目:编写一个四则运算测试题的程序,要求每道题都要随机产生

解题思路:

1.编写测试题,且为30道,就要用到循环函数,因此想到用for()函数

2.随机产生两个数,就想到用rand()函数。

注:1.rand()函数在使用时应有头文件#include<stdlib.h>,我上课时由于没有用此头文件,程序一直无法运行

2.我在调试程序的过程中,随机数一直不变,通过查资料我了解到,要想让随机数改变,需要提供一个种子,相同的种子会产生相同的随机数,因此必须在rand()函数前                   加上 srand(time(NULL));语句,且头文件中加上#include<time.h>,这样就能保证两个随机数能够该变了。

3.随机缠上四则运算要想每道题+ ,-,*,/都是随机的,我就想到了用分支函数,通过用if 语句,我感觉有点麻烦,然后我就想到了switch()函数,且通过随机产生0,1,2,3            四个数来进行分支,比较方便一点

4.考虑到小学生没有学过负数,所以在做减法时,我想到了,要让大数减小数来计算。还有就是除法,除数不能是0,因此我想到了如果除数是0,则重新出一道题,为了                   保证题目为30道题,要让i+1才行。

下面是我编写的一个小程序:

#include<iostream.h>
#include<stdlib.h>
#include<time.h>
int main()
{
 int x,y,z,t; 
 srand(time(NULL));
 cout<<"小学二年级四则运算测试题"<<endl;
 for(int i=0;i<30;i++)
 {
  x=rand()%100;
  y=rand()%100;
  z=rand()%4;
  switch(z)
  {
  case 0:
   cout<<x<<"+"<<y<<"="<<endl;
   break;
  case 1:
   if(x<y)
   {
    t=x;
    x=y;
    y=t;
   }
   cout<<x<<"-"<<y<<"="<<endl;
   break;
  case 2:
   cout<<x<<"*"<<y<<"="<<endl;
   break;
  case 3:
   if(y!=0)
   {
   cout<<x<<"/"<<y<<"="<<endl;
   }
   else
   {
    i=i-1;
   }
   break;
  default:
   cout<<"超出测试范围"<<endl;
   break;
  }
 }
 cout<<"恭喜你已经完成了30道数学测试题"<<endl;
 return 0;
}

运行截图:

心得体会:

上课时由于自己的编程水平比较低,导致未能及时完成作业,课后认真完成了此次作业。

C语言编写的随机产生四则运算测试题的更多相关文章

  1. 第二次作业利用java语言编写计算器进行四则运算

    随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...

  2. 基于c编写的关于随机生成四则运算的小程序

    基于http://www.cnblogs.com/HAOZHE/p/5276763.html改编写的关于随机生成四则运算的小程序 github源码和工程文件地址:https://github.com/ ...

  3. 软件工程课堂作业(二)续——升级完整版随机产生四则运算题目(C++)

    一.设计思想: 1.根据题目新设要求,我将它们分为两类:一类是用户输入数目,根据这个数目改变一系列后续问题:另一类是用户输入0或1,分情况解决问题. 2.针对这两类要求,具体设计思路已在上篇博文中写出 ...

  4. 如何用C语言编写病毒‘

    怎样用C语言编写病毒在分析病毒机理的基础上,用C语言写了一个小病毒作为实例,用TURBOC2.0实现.[Abstract] This paper introduce the charateristic ...

  5. 结对作业——随机生成四则运算(Core 第7组)

    结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...

  6. Python语言编写BP神经网络

    Python语言编写BP神经网络 2016年10月31日 16:42:44 ldy944758217 阅读数 3135   人工神经网络是一种经典的机器学习模型,随着深度学习的发展神经网络模型日益完善 ...

  7. 基于php基础语言编写的小程序之计算器

    基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用sel ...

  8. 选择使用c语言编写的phalcon框架

    使用这个框架,我总结了如下几点考虑 1.这个框架速度快.纯c语言编写的框架,速度都比php框架快,省去了中间环节.当然,使用它不仅仅是性能考虑.因为如果为了解决php性能问题,完全可以有很多种方式,不 ...

  9. [改善Java代码]易变业务使用脚本语言编写

    建议16: 易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP.Ruby.Groovy.JavaScript等,这些“入侵者”都有一个共同特征:全是同一类语言—脚本语言,它们 ...

随机推荐

  1. python简单的发送邮件

    python 利用smtplib来发送邮件,具体的代码如下 一. 编辑smtp_v2.py vim /home/python/smtp_v2.py #!/usr/bin/env python # -* ...

  2. java 求第n小的质数

    package a小米; import java.util.Scanner; public class prime { public static boolean isPrime(int n){ fo ...

  3. jQuery.prop() 使用详解

    prop()函数用于设置或返回当前jQuery对象所匹配的元素的属性值. 该函数属于jQuery对象(实例).如果需要删除DOM元素的属性,请使用removeProp()函数. 语法 jQuery 1 ...

  4. [Redis] RDB & AOF

    http://my.oschina.net/davehe/blog/174662 rdb - 存在dump.rdb 的二进制文件中 dump 整个db, 数据多的时候,不合适频繁保存,保存的时间间隔应 ...

  5. SVN客户端解决authorization failed问题

    遇到authorization failed问题 进人 [root@localhost conf]# pwd /opt/svndata/shell/conf [root@localhost conf] ...

  6. PHP mysql 事务处理实例

    事务是必须满足4个条件(ACID):原子性(Autmic).一致性(Consistency).隔离性(Isolation).持久性(Durability) 原子性(Autmic):事务在执行性,要做到 ...

  7. onClick事件实现方式(打电话为例子)

    1.在button 中 android:onclick="call" 注意事项:①.方法的名字必须是call ②.区别大小写 ③.call方法必须接收一个View类型的参数 ④.方 ...

  8. Android LogCat使用详解

    Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat: 1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志 只需 ...

  9. 国际制造执行系统(MES)应用与发展

    某些专家认为,当今制造业的生存三要素是信息技术(IT).供应链管理(SCM)和成批制造技术.使用信息技术就是由依赖人工的作业方式转变为作业的快速化.高效化,大量减少人工介入,降低生产经营成本:供应链管 ...

  10. Oracle 11g 之自动收集统计信息

    在Oracle的11g版本中提供了统计数据自动收集的功能.在部署安装11g Oracle软件过程中,其中有一个步骤便是提示是否启动这个功能(默认是启用这个功能). 1.查看自动收集统计信息的任务及状态 ...