zoukankan      html  css  js  c++  java
  • C语言编写的随机产生四则运算测试题

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

    解题思路:

          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;
    }

    运行截图:

    心得体会:

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

  • 相关阅读:
    cocos2d-x 屏幕适配
    C# 做一个指定概率的抽奖程序
    Cocos2d-x 开发小记(二):控件
    Cocos2d-x 开发小记(一):基本动作
    Cocos2d-x v2.2.2版本+Win7+VS2010环境搭建
    使用C#从XML中批量删除指定节点
    使用NSIS脚本制作一个安装包
    C++解析命令行参数(仿C语言args)
    关于 Source Engine 2007 网络通信的分析
    关于OpenGL游戏全屏模式的设置
  • 原文地址:https://www.cnblogs.com/zgsxh/p/4318512.html
Copyright © 2011-2022 走看看