四则运算2
(一)实验要求:实现控制下列参数:是否有乘除法、是否有括号、数值范围、加减有无负号、除法有无余数、是否支持分数(真分数、假分数)、是否支持小数(精确到多少位)、打印中每行的间隔可以调整。
(二)设计思路:
避免出题重复:利用srand函数,让随机数每次产生的不一样。
可定制:通过对数量的键入,在for循环中使循环次数小于键入值。
是否有乘除法:条件判断,用条件约束输出中符号的随机情况。
数值范围:在产生随机数时通过键入控制模,从而使运算数不超过此范围。
加减有无负号:判断两操作数,第一操作数若比第二操作数小则此次循环作废,重复循环。
除法有无余数:判断第一操作数模第二操作数的结果,若为0即可输出。
(三)代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #include<iostream.h> #include<stdlib.h> #include<time.h> int main() { srand(time(NULL)); int sm; //sm 即题目的数量 char cc; //cc 即算式中有无乘除 char ys; //ys即有无余数 int sz; //sz 即数值取值范围 char zf; //zf即加法运算出不出现正负 char fh; //fh即四则运算中的加减乘除 int ls; //ls即输出的列数 cout<< "请输入您需要的题目数目: " ; cin>>sm; cout<< "运算中需要乘除法吗?(y/n)" ; cin>>cc; if (cc== 'y' ) { cout<< "除法中需要出现余数吗?(y/n)" ; cin>>ys; } cout<< "请输入运算数的最大取值范围:" ; cin>>sz; cout<< "减法中出现负数吗?(y/n)" ; cin>>zf; cout<< "您想输出几列?" ; cin>>ls; cout<< "***********************************************" <<endl; for ( int i=0;i<sm;i++) //for循环中用sm来控制循环次数 { int a=rand()%sz; int b=rand()%sz; int c; if (cc== 'y' ) //此处判断用不用到乘除法 c=rand()%4; else if (cc== 'n' ) c=rand()%2; if (c==0) //此处判断运算符号 { fh= '+' ; } if (c==1) { fh= '-' ; } if (c==2) { fh= '*' ; } if (c==3) { fh= '/' ; } if (c==3&&b==0) //除数不能为0 { i--; continue ; } if (c==1&&zf== 'n' &&a<b) //减法结果不为负数 { i--; continue ; } if (c==3&&ys== 'n' &&a%b!=0) //除法结果不产生余数 { i--; continue ; } cout<<i+1<< "、" <<a<<fh<<b<< '=' << " " ; if ((i+1)%ls==0) //控制输出的列数 { cout<<endl; } } cout<< "***********************************************" <<endl; return 0; } |
(四)实验截图:
(五)实验总结:每次在debug的时候总是心惊胆战的,总是在想自己到底是哪里错了,就像面对生气的女朋友一样,哈哈。不过每次查出错误修改之后能够成功运行的感觉真的特别棒,希望自己能够时时回顾过去的基础,更加细心。总之,遇到的困难都需要自己一点一点去解决,好好坚持吧。
(六)时间表(min):
时间记录表:
日期与任务 | 听课 | 阅读 | 编程 | 每日合计 |
周一 | 100 | 20 | 60 | 180 |
周二 | 0 | 10 | 30 | 40 |
周三 | 0 | 10 | 30 | 40 |
周四 | 100 | 20 | 60 | 180 |
周五 | 0 | 10 | 0 | 10 |
周六 | 0 | 30 | 60 | 90 |
周日 | 0 | 30 | 60 | 90 |
合计 | 200 | 130 | 300 | 630 |
缺陷表 :
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步