zoukankan      html  css  js  c++  java
  • 四则运算 2

    实验报告

    思路:

    是否有乘除法、数值范围、加减有无负数、除法有无余数。
    利用for循环设置题目的数量,用三个数组分别表示两个随机数和他们之间的四则运算,利用跟之前的题目进行比较,避免出现重复的题目。

    利用if语句对参数进行分类,如果有乘除法,四则运算的数组就有四个元素,反之只有两个元素。

    命令a是题目的取值范围,通过输入a的值,rand()%a来确定取值范围。

    对于加减有无负数,对随机数的数组是否小于零进行判断。用if语句进行选择。

    对于除法有无余数,对两组随机数的数组是否进行判断。用if语句进行选择。

    打印方式:用for循环来选择一行有几个题目。

    代码:

    #include<iostream>
    #include<cmath>
    using namespace std;

    void main()
    {
     int a[1000],b[1000],c[1000],i,n,x,j,d,f,g,h,k,l,o;
     double e;
     cout<<"输入题的数目(最多1000)"<<endl;
     cin>>n;

     cout<<"输入题目的范围的最大值"<<endl;
     cin>>x;

     cout<<"题目中是否有负数(是就输入1,否就输入2)"<<endl;
     cin>>d;
     if(d==1) e=-1.0;
     else e=1.0;

     cout<<"题目中是否有乘除(是就输入1,否就输入2)"<<endl;
     cin>>f;
     if(f==1)
     {
      g=4;
      cout<<"乘除否有余数(是就输入1,否就输入2)"<<endl;
      cin>>h; if(h==1) k=1;
      else k=2;
     }
     else g=2;

     
     for(i=1;i<=n;i++)
     {
      o=rand()%2+1;
      const int p=pow(e,o);
      
      
      a[i]=p*rand()%x+1;
      
      b[i]=p*rand()%x+1;
      
      c[i]=rand()%g+1;
       
      for(j=1;j<i;j++)//避免重复
      {
       if(a[j]==a[i]&&b[j]==b[i]&&c[j]==c[i])
       {i=i-1;}
      }

      if(c[i]==4&&b[i]==0)//除数不为零
       {i=i-1;}

      if((k==2)&&(c[i]==4)&&(a[i]%b[i]!=0))//能否整除
      {i=i-1;}
     }
     cout<<"请选择输出方式(一行几个题  最多7个)"<<endl;//输出
     cin>>l;
     
      for(i=1;i<=n;i++)
       {
        if(c[i]==1)
        cout<<a[i]<<"+"<<b[i]<<"="<<"   ";
        if(c[i]==2)
        cout<<a[i]<<"-"<<b[i]<<"="<<"   ";
        if(c[i]==3)
        cout<<a[i]<<"*"<<b[i]<<"="<<"   ";
        if(c[i]==4)
        cout<<a[i]<<"/"<<b[i]<<"="<<"   ";
        if(i%l==0)
         cout<<endl;
       }
     
    }

    总结:

    利用for循环来产生随机数的数目。根据产生100以内随机数的式子a=rand()%100+1和c=rand()%4+1;把100用变量表示可以控制随机数的范围,把4用变量表示可以控制随加减乘除中是否有乘除运算。在rand之前随机产生-1或1来控制是否出现负数。通过%来控制是否有余数。在用for循环中如果遇到不符合条件的随机数,就利用i=i-1来使产生的题目数量不变。

    日期 开始时间 终止时间 中断时间 净时间 活动 备注
    13 12:30 13:30   一小时 编写实验思路  
    14 9:00 10:30 十分钟 1小时30分 编程序 编写大概的框架可以产生题目并且可以控制是否有乘除
    14 16:00 16:30   30分 编程序 对题目的范围进行限制
    15 19:30 21:00   1小时30分 编程序 在程序中加入除法是否有余数
    16 16:00 17:30   1小时30分 编程序 在程序中加入加入对负数的判断以及输出方式的不同
    18 10:00 10:45   45分 编写实验报告  
  • 相关阅读:
    在sql语句中使用 xml for path 格式化字符串的方法总结
    Android handler的使用简单示例
    easyui datagrid中 多表头方法总结
    使用ICSharpCode.SharpZipLib.Zip类库解压zip文件的方法
    ThreadPoolExecutor 优雅关闭线程池的原理.md
    ThreadPoolExecutor 几个疑惑与解答
    如何在运行时(Runtime)获得泛型的真正类型
    为什么 EXISTS(NOT EXIST) 与 JOIN(LEFT JOIN) 的性能会比 IN(NOT IN) 好
    Spring MVC 上下文(ApplicationContext)初始化入口
    Tomcat生成的session持久化到MySQL
  • 原文地址:https://www.cnblogs.com/double1/p/4346538.html
Copyright © 2011-2022 走看看