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分 编写实验报告  
  • 相关阅读:
    ubuntu给手机建wifi
    ubuntu系统之难
    【百度之星2014~复赛 解题报告~正解】The Query on the Tree
    【百度之星2014~复赛)解题报告】The Query on the Tree
    【百度之星2014~初赛解题报告】
    【百度之星2014~初赛(第二轮)解题报告】JZP Set
    【百度之星2014~资格赛解题报告】
    【百度之星2014~初赛(第二轮)解题报告】Chess
    vi 中插入当前时间
    安装软件时依赖冲突的万能解决方案
  • 原文地址:https://www.cnblogs.com/double1/p/4346538.html
Copyright © 2011-2022 走看看