zoukankan      html  css  js  c++  java
  • 四则运算2实验及表格

    一、设计思路

    1.题目避免重复:比较运算中第一个数,如果相同,下一个数取

    2.可定制(数量/打印方式):数量可以从键盘输入,可选择一行输出几题

    3.控制参数,由用户进行选择,用户选择(0是,1否),根据选择调用判断

    二、代码

    #include<iostream.h>
    #include<stdlib.h>
    int a[200],b[200],k[200];
    int i,j,c;
    void shuchu(int dy)  //输出题目
    {
             if(dy==0)
             {
                 if(k[i]==0)
                      cout<<a[i]<<'+'<<b[i]<<'='<<endl;
          if(k[i]==1)
            cout<<a[i]<<'-'<<b[i]<<'='<<endl;
          if(k[i]==2)
            cout<<a[i]<<'*'<<b[i]<<'='<<endl;
          if(k[i]==3)
                     cout<<a[i]<<'/'<<b[i]<<'='<<endl;
        }
         else
            {
          if(k[i]==0)
             cout<<a[i]<<'+'<<b[i]<<'='<<' ';
          if(k[i]==1)
             cout<<a[i]<<'-'<<b[i]<<'='<<' ';
          if(k[i]==2)
             cout<<a[i]<<'*'<<b[i]<<'='<<' ';
          if(k[i]==3)
             cout<<a[i]<<'/'<<b[i]<<'='<<' ';
          if((i+1)%dy==0)
             cout<<endl;
       }
    }
    void yaoqiu() //对出题的要求询问   

       int cc,fw,zf,ys,ts,dy;
       cout<<"请选择是否有乘除法:(0为是,1为否)"<<endl;
       cin>>cc;
       while(cc!=0&&cc!=1)
       {
          cout<<"输入错误,请重新输入!"<<endl;
          yaoqiu();
         }
         cout<<"请输入取值范围:(输入范围0~x的最大数x)"<<endl;
         cin>>fw;
         while(fw<=0)
         {
            cout<<"输入错误,请输入正整数"<<endl;
            yaoqiu();
         }
         cout<<"请选择加减有无负数:(0为有,1为无)"<<endl;
         cin>>zf;
         while(zf!=0&&zf!=1)
         {
            cout<<"输入错误,请重新输入!"<<endl;
            yaoqiu();
         }
         if(cc==0)
         {
            cout<<"请选择除法有无余数:(0为有,1为无)"<<endl;
            cin>>ys;
            while(ys!=0&&ys!=1)
                {
               cout<<"输入错误,请重新输入!"<<endl;
               yaoqiu();
            }
         }
         cout<<"你想要一次出几道题?"<<endl;
         cin>>ts;
         while(ts<=0)
         {
            cout<<"输入错误,请重新输入!"<<endl;
            yaoqiu();
         }
         cout<<"请选择打印方式:(1为逐行打印,输入其他数字(2,3,4,5...)则为一行有2,3,4,5...道题)"<<endl; 
         cin>>dy;
         while(dy<=0)
         {
            cout<<"输入错误,请重新输入!"<<endl;
            yaoqiu();
         }
         for(i=0;i<ts;i++)
         {
            for(j=0;j<i;j++)// 排重
            {
               if(a[j]==a[i])
                a[i]++;
            }
            a[i]=rand()%fw;
            b[i]=rand()%fw;
            if(cc==0)
            {
               k[i]=rand()%4;
            }
            else
            {
               k[i]=rand()%2;
            }
           if(zf==1)
           {
              if(b[i]>a[i])
              {
                 c=b[i];
                 b[i]=a[i];
                 a[i]=c;
              }
           }
           if(ys==0)
           {
              huchu(dy);
           }
           if(ys!=0)
           {
            if(k[i]==3&&b[i]==0) //除数不能为0
            {
               b[i]++;
            }
            while(a[i]%b[i]!=0)
             b[i]++;
              shuchu(dy);
           }
        }
    }
    void main()
    {
     yaoqiu();
    }

    三、截图

     四、总结

    在实验过程中,输出结果一直出错,花了大量时间才发现是因为大括号放错位置,

    这主要在于我以前没养成良好的编程习惯,我一定要吸取这次的教训。

    五、计划表

     

  • 相关阅读:
    菜根谭#245
    菜根谭#244
    菜根谭#243
    菜根谭#242
    菜根谭#241
    菜根谭#240
    菜根谭#239
    菜根谭#238
    菜根谭#237
    [转载]Linux 内核list_head 学习(一)
  • 原文地址:https://www.cnblogs.com/lsfh/p/4339965.html
Copyright © 2011-2022 走看看