四则运算2详细过程

一、设计思路

1.题目避免重复:

可以定义三个数组,第二道题的第一个数,第二个数,运算符不能与第一道题完全一样,第三道题不能与第二道题,第一道题一样,以此类推。

2.可定制(数量/打印方式)

数量可以从键盘输入,打印方式可以调整各题之间的间距或者直接换行。

3.控制参数,由用户的意愿进行选择,先设置用户选择(0,1),程序用判断语句获得用户的意愿,添加进相应的题目。

二、源代码

#include<iostream.h>

#include<stdlib.h>

int a[100],b[100],c[100];

int i;

void Display(int f)

{

if(f==0)

{

if(c[i]==0)

cout<<a[i]<<‘+‘<<b[i]<<‘=‘<<endl;

if(c[i]==1)

cout<<a[i]<<‘-‘<<b[i]<<‘=‘<<endl;

if(c[i]==2)

cout<<a[i]<<‘*‘<<b[i]<<‘=‘<<endl;

if(c[i]==3)

cout<<a[i]<<‘/‘<<b[i]<<‘=‘<<endl;

}

else

{

if(c[i]==0)

cout<<a[i]<<‘+‘<<b[i]<<‘=‘<<‘\t‘;

if(c[i]==1)

cout<<a[i]<<‘-‘<<b[i]<<‘=‘<<‘\t‘;

if(c[i]==2)

cout<<a[i]<<‘*‘<<b[i]<<‘=‘<<‘\t‘;

if(c[i]==3)

cout<<a[i]<<‘/‘<<b[i]<<‘=‘<<‘\t‘;

if((i+1)%4==0)

cout<<endl;

}

}

int main()

{

int j,k,t;

int m,n,o,d,e,f;

cout<<"请选择是否有乘除法:(0为是,1为否)"<<endl;

cin>>m;

cout<<"请输入取值范围:(0-?)"<<endl;

cin>>n;

cout<<"请选择加减有无负数:(0为有,1为无)"<<endl;

cin>>o;

if(m==0)

{

cout<<"请选择除法有无余数:(0为有,1为无)"<<endl;

cin>>d;

}

cout<<"请输入题目个数:"<<endl;

cin>>e;

cout<<"请选择打印方式:(0为逐行打印,1为节省空间打印)"<<endl;

cin>>f;

for(i=0;i<e;i++)

{

a[i]=rand()%n;

b[i]=rand()%n;

c[i]=rand()%4;

for(j=0;j<i;j++)

if(a[j]==a[i]&&b[j]==b[i]&&c[j]==c[i])

a[i]++;

if(m==0&&o==0&&d==0)

{

Display(f);

}

else if(m==1)

{

if(c[i]>=2)

c[i]=c[i]-2;

Display(f);

}

else if(m==0&&o==1&&d==0)

{

if(a[i]<b[i])

{

t=a[i];

a[i]=b[i];

b[i]=t;

}

Display(f);

}

else

{

if(c[i]==3)

{

if(a[i]<b[i])

{

t=a[i];

a[i]=b[i];

b[i]=t;

}

while(a[i]%b[i]!=0)

b[i]++;

}

Display(f);

}

}

return 0;

}

三、运行结果

四、错误原因

1.刚开始未能把三个数组以及变量i定义为全局变量,导致在Display函数中,无法把主函数中的值传到其他函数中;

2.功能是一点一点添加进去的,刚开始忘了把打印方式功能添加进去了,后来想起来又添加的;

3.除法没有余数,必然被除数要大于或等于除数,为了减少工作量,没有涉及既有负数又没有余数的题目。

时间: 2024-10-07 18:34:40

四则运算2详细过程的相关文章

Linux下WebSphereV8.5.5.0 安装详细过程

Linux下WebSphereV8.5.5.0 安装详细过程 自WAS8以后安装包不再区别OS,一份介质可以安装到多个平台.只针对Installation Manager 进行了操作系统的区分 ,Websphere产品介质必须通过专门的工具Install Managere安装.进入IBM的官网http://www.ibm.com/us/en/进行下载.在云盘http://yun.baidu.com/share/linkshareid=2515770728&uk=4252782771 中是Linu

网站渗透测试原理及详细过程

网站渗透测试原理及详细过程 渗透测试(Penetration Testing)目录 零.前言一.简介二.制定实施方案三.具体操作过程四.生成报告五.测试过程中的风险及规避参考资料FAQ集 零.前言 渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为. 这里我们提供的所有渗透测试方法均为(假设为)合法的评估服务,也就是通常所说的道德黑客行为(Ethical hacking),因此我们这里的所有读者应当都是Ethical Hackers,如果您还不是,那么我希望您到过这里后会成为他们中的

UCOS2_STM32F1移植详细过程(二)

Ⅰ.概述 打开上一篇文章新建的工程,是提取的ST标准库里面源代码文件和UCOS工程包源代码文件.下载过的朋友可能会知道,直接编译那个工程会有大片的错误和警告,原因在于那个工程是没有经过修改源代码的工程,接下来就是讲述一步一步修改源代码的过程(也就是所谓的移植过程). 该文接着上一篇文章来讲述“UCOS移植详细过程”,上一篇文章是讲述准备工作.文件提取并整理.新建UCOS工程等工作.该文讲述UCOS移植过程中修改源代码(底层代码.系统配置等)工作. 笔者将“UCOS移植详细过程”分为多篇文章来讲述

UCOS2_STM32F1移植详细过程(一)

Ⅰ.概述 该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统.UCOS移植相关平台: 系统平台:µC/OS-II  (最新V2.92版) 硬件平台:STM32F1   (适合F1所以系列) 开发平台:Keil(MDK-ARM) V5 1.为什么是µC/OS-II? 原因在于µC/OS-II是一个比较成熟.稳定的系统,与µC/OS-III比较有些机制相对简单很多.当你掌握了µC/OS-II,µC/OS-III很容易就理解了. 2.为什么是STM32F1? 硬件平台是

STM32F0xx_TIM输出PWM配置详细过程

前言 前面我说过STM32的定时器功能很强大,今天就来总结一下它的另外一个“强大”功能:TIM的比较输出功能,输出可调PWM波形.直接调用函数接口“TIM2_CH1_PWM(uint32_t Freq, uint16_t Dutycycle)”传入频率和占空比就能输出指定的波形. 我提供的软件工程直接调用是比较简单就能实现想要的PWM波形.但是,如果你是学习者,建议还是进去函数把每一个细节了解清楚,里面的东西可能对你掌握TIM很有帮助. 本着免费分享的原则,如果你觉得分享的内容对你有用,认可我分

STM32F0xx_TIM输入捕获(计算频率)配置详细过程

前言 关于STM32的定时器,可谓是功能强大,估计没有多少人研究完STM32定时器的所有功能(包括我也没有),只是使用常用的一些功能,后续我会推出关于STM32定时器的更多功能. STM32芯片多数为16位计数,但基本上都有1个或两个32位的定时器,可惜的是我们最常使用的F1系列芯片中没有32位的定时器,F030中也没有,具体请看数据手册. 今天主要总结关于STM32F0系列输入捕获,捕获信号频率,即所谓逻辑分析仪检测数字频率的功能. 今天使用32位的TIM2作为捕获的定时器,为什么是32位,原

STM32F0xx_DMA收发USART数据配置详细过程

前言 关于DMA(Direct Memory Access)的功能,前面关注我微信的人应该知道,其实我已经在F1芯片上简单讲了一下.有网友要求在F0讲解一下使用DMA收发串口数据.今天就应网友要求总结一下在F0芯片上,使用DMA方式传输(收发)USART数据的功能. 在多种芯片上(F0.F1.F2.F3.F4)了解过DMA模块功能的朋友可能会发现一个特点,就是DMA的功能有很多相似的地方,甚至是一样.其实,每一个模块在不同系列芯片(甚至不同厂商)基本上是大同小异,这就是所谓的触类旁通.对于软件开

[转] 关于 Eclipse 导出 Android项目 JavaDoc 详细过程

关于Eclipse 导出JavaDoc过程中,遇到的问题 ,google 了一下 ,网友们 总说不一 ,最终 还是 搞定了 现在分享给大家 希望对大家有所帮助 用Eclipse默认的 JavaDoc需要注意 有两个问题   1.   找不到关于Android相关的类   2. 不支持中文/乱码 , 后者是编码问题  编码 GBK 的不可映射字符   选中项目右键 --->Export--- 如图 点击 下一步 只需要 选择src 目录 点击 Next下一步 这儿 注意 两个问题 一个 是 编码问

第一部分:使用iReport制作报表的详细过程(Windows环境下)

提示:在有些板块,文中的图片看不到,建议到我的blog浏览文章:http://blog.csdn.net/jemlee2002/文章将会涉及3个方面的内容: 第二部分:使用Jasperreport作为报表控件开发胖客户端报表应用 第三部分:使用Jasperreport作为报表控件开发Web报表应用 1.前言 在网络上可以搜索到很多使用iReport和Jasperreport配合实现各种报表任务的文章,但是我觉得很少有一篇(几乎没有)做一个比较详细的介绍如何使用iReport制作报表的全过程,我所