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

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

  这次题目的要求是:1、题目避免重复;2、可定制(数量、打印方式);3、可以控制下列参数:是否有乘除法、是否有括号、数值范围、加减有无负数、除法有无余数。刚拿到这个题目的时候有点懵,因为要求很多,感觉很难,后来又仔细分析了一下,将题目进行分解,感觉稍微有了点思路。

  首先题目避免重复的话就应该跟之前的四则运算一样用一个时间种子;然后就是打印题目的数量以及数值范围,这个可以让用户进行输入;然后可以用switch语句控制是否有乘除法,是否有括号;当有乘除法时要判断除数是否为0,为0的话就交换除数和被除数的位置;另外还要判断是否有余数,可以用求余运算,如果判断出来有余数,就可以通过被除数减去余数得到一个新的数值,然后输出的时候直接输出这个新的数值除以除数;当判断加减有无负数时,可以判断减数和被减数的大小,若被减数小于减数,则将两者交换位置,否则直接输出;当有括号时,我想的是用堆栈,但是具体怎样实现还没有想出来。

  我本来是打算用2个小时的时间编出来,实际则用了3个小时还要多一点,具体代码如下:

1 //张晓菲,2016/3/12  2 //要求:1、题目避免重复;  3 //      2、可定制(数量、打印方式);  4 //      3、可以控制下列参数:是否有乘除法、是否有括号、数值范围、加减有无负数、除法有无余数。  5   6 #include
7 #include
8 #include
9 #include
10 using namespace std; 11 12 void main() 13 { 14 srand( (unsigned)time( NULL ) );//时间种子防止每次产生的随机数相同 15 int num1,num2,max,oper; 16 int ran[10]; 17 int i; 18 19 cout<<"请输入要打印的数量:"; 20 cin>>num1; 21 if(num1<=0) 22 { 23 cout<<"请重新输入要打印的数量:"; 24 cin>>num1; 25 } 26 27 cout<<"请输入可以允许随机产生的最大数值:"; 28 cin>>max; 29 if(max<=0) 30 { 31 cout<<"请重新输入可以允许的最大数值:"; 32 cin>>max; 33 } 34 35 cout<<"请输入允许几个操作数:"; 36 cin>>num2; 37 if(num2<=1) 38 { 39 cout<<"请重新输入允许几个操作数(1
<=3):"; 40 cin>>num2; 41 } 42 43 cout<<"请选择是否有乘除法(1:是 0:否):"; 44 cin>>i; 45 46 for(int x=0;x

运行结果如下图:

  这次是否有括号这个功能用户不能选择,没有支持分数的运算,也没让它输出到文件,还有我设定只能有两个或三个操作数,如果操作数再多的话我就不知道该怎么办了,感觉自己用的方法很笨很啰嗦,但是不知道怎么能更简单,虽然感觉自己的编程能力挺不好的,但是通过这么一次次的努力,也提升了不少,希望以后自己更加努力,然后有一个更大的提升。

  时间记录:

 

转载于:https://www.cnblogs.com/quite-love/p/5268066.html

你可能感兴趣的文章
c++ 引用
查看>>
SQL Server T-SQL高级查询(转)
查看>>
微信公众平台java开发具体解释(project代码+解析)
查看>>
Could not load the Tomcat server configuration at /Servers/Tomcat v7.0 Server at localhost-config.
查看>>
【SQL】sql版Split函数。用于拆分字符串为单列表格
查看>>
【BZOJ】1044: [HAOI2008]木棍分割(二分+dp)
查看>>
哈佛经济学家关于工作效率的意外发现
查看>>
维基百科一年烧四千多万美元 太会花钱?才不是呢!
查看>>
软件管理,软件生命周期,软件过程名词解释
查看>>
[Spring MVC] - SpringMVC的各种参数绑定方式
查看>>
apk签名方法
查看>>
java.io.IOException: ORA-22920: 未锁定含有 LOB 值的行
查看>>
用一条sql取得第10到第20条的记录
查看>>
《悲惨世界》--[法]雨果
查看>>
分页骨架
查看>>
IOS--UIDatePicker 时间选择器 的使用方法详细
查看>>
ORACLE系统表大全
查看>>
#研发解决方案介绍#基于持久化配置中心的业务降级
查看>>
设计模式--建造者(Builder)模式
查看>>
高效方法势图
查看>>