zoukankan      html  css  js  c++  java
  • 随机生成30道四则运算

    自动生成30道小学四则运算题目,要求:除了整数以外,还要支持真分数的四则运算

    细化步骤:

    1,  得到第一个操作数 ,系统产生一个随机数(范围包括整数和真分数)。       

    2,  随机得到一个运算符

    (1)用0,1,2,3分别代表+、-、*、/四则运算

    (2)系统产生一个随机整数

    (3)用此整数除以4取余

    (4)余数有四种可能0,1,2,3,由此得到对应的运算符

    3,  得到第二个操作数,系统产生一个随机数(范围包括整数和真分数)。

    4,  循环输出30次四则运算表达式,设置srand((unsigned)time(NULL))时间种子,以使程序每次得到的结果都不同。

    //李妍 2015.3.4
    //四则运算 
    #include<iostream>
    #include<string>
    #include<stdlib.h>
    #include<time.h>
    using namespace std;
    void main()
    {
        srand((unsigned)time(NULL));//设置时间种子 ,以使程序每次得到的结果都不同 
        for (int i = 0; i < 30; i++)
        {
           int a,b,c;
           int fenmu_1, fenmu_2;
           //生成第一个操作数
           a = (rand() %(100))+1 ;
           if (a == 100)
           {
               a = (rand() % 99)+1;
               fenmu_1 = a + (rand() %( 99-a+1));
               cout << "(" << a << "/" << fenmu_1 << ")";
            }
           else cout << a;
           
           //随机生成运算符
           char o;
           c= (rand() % 100)%4;
           if (c == 0) o = '+';
           else if (c == 1) o = '-';
           else if (c == 2) o = '*';
           else o = '/';
           cout << o;
           //生成第二个操作数
           b = 1+rand() % (100);
           if (b == 100)
           {
               b = (rand() % 99)+1;
               fenmu_2 = b + (rand() % (99-b+1));
               cout << "(" << b << "/" << fenmu_2 << ")";
            }
           else cout << b;
           cout << "=";
           cout << endl;
        }
    
    } 

     通过编写这个小程序,我明白了把问题细化具有很重要的意义,以后再遇到复杂的情况,我会把问题细化再细化,一点点去解决。

  • 相关阅读:
    过滤器
    JSTL自定义标签
    EL表达式自定义函数
    和 区别
    JSTL标签
    jsp内置对象
    Java堆、栈和常量池以及相关String的详细讲解(转)
    jsp和servlet学习总结
    JAVA多线程实现的两种方式
    redis示例
  • 原文地址:https://www.cnblogs.com/liyan-luckygirl/p/5247846.html
Copyright © 2011-2022 走看看