博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四则运算2
阅读量:5144 次
发布时间:2019-06-13

本文共 1543 字,大约阅读时间需要 5 分钟。

 

一、设计思想

1、避免题目重复(从第二个开始,每生成一个题目,与前面所有的题目对比,不同则随机生成,相同则不产生)

2、可定制数量/打印方式(用户可通过设置题目数量n来实现定制数量,通过设置变量,用户选择来实现打印方式)
3、是否有乘除法(用户通过选择是或否实现)
     数值范围(通过设置随机数的范围实现)
     加减有无负数(通过判断减数与被减数的大小来实现,被减数比减数大则没负数,被减数比减数小则有负数)
     除法有无余数(判断被除数是否能除尽除数)
     打印中每行的间隔可调整(用户通过设置行数间隔实现)

二、源代码

#include<iostream>

#include<stdlib.h>
using namespace std;
#define  MAX 10000
#include <ctime>
#include <cstdlib>
void display()
{
     char q[4][2]={"+","-","*","/"};
     int a,b,k,m,n,o,p;
     cout<<"请输入定制数量"<<endl;
     cin>>k;//定制数量
     cout<<endl;
     cout<<"请输入数值范围(如 10 50)"<<endl;
     cin>>m>>n;
     cout<<endl;//数值范围
     cout<<"0.无乘除法"<<endl;
     cout<<"1.有乘除法"<<endl;
     cin>>o;//有无乘除 0 无 1有
     if(m<n)
     {
          int temp=n;
          n=m;
          m=temp;
     }
     if(o!=0)
     {
          cout<<endl;//数值范围
          cout<<"0.无余数"<<endl;
          cout<<"1.有余数"<<endl;
          cin>>p;//有无余数 0无 1有
     }
     int d[MAX][3];
     srand(time(0)); 
     for(int i=0;i<k;i++)
     {
          d[i][0]=rand()%(m-n)+n;
          d[i][1]=rand()%(m-n)+n;
          d[i][2]=rand()%(m-n)+n;
          a=rand()%4;
          b=rand()%4;
          if(o==1)
          {
              a=rand()%4;
              b=rand()%4;
      }
      else
      {
           a=rand()%2;
           b=rand()%2;
      }
       if(o==0)
      {
           cout<<"第"<<i+1<<"道题:"<<d[i][0]<<q[a]<<d[i][1]<<q[b]<<d[i][2]<<"="<<endl;
      }
      else if(p==0)
      {
            if(((d[i][0]%d[i][1]==0&&a==3)&&(d[i][1]%d[i][2]==0&&b==3))||(d[i][0]%d[i][1]==0&&a==3)||(d[i][1]%d[i][2]==0&&b==3))
            cout<<"第"<<i+1<<"道题:"<<d[i][0]<<q[a]<<d[i][1]<<q[b]<<d[i][2]<<"="<<endl;
        else
            i=i-1;
          }
          else
               cout<<"第"<<i+1<<"道题:"<<d[i][0]<<q[a]<<d[i][1]<<q[b]<<d[i][2]<<"="<<endl;
  
     }
 
}
int main()
{
     display();
     return 0;
}

三、运行结果

 

四、运行截图

五、总结

在这次实验,我更加了解了有想法到程序的过程,也知道代码不进行模块化程序出问题。程序仅仅实现了几个功能还不太全面。刚开始的时候没有思路,后来具体到每一个问题其实也没有那么困难。

 

转载于:https://www.cnblogs.com/yanyafeng/p/4340041.html

你可能感兴趣的文章
jQuery on(),live(),trigger()
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>
(tmp >> 8) & 0xff;
查看>>
linux命令之ifconfig详细解释
查看>>
NAT地址转换
查看>>
Nhibernate 过长的字符串报错 dehydration property
查看>>
Deque - leetcode 【双端队列】
查看>>