一.程序源代码
#include<iostream.h> #include<time.h> #include<stdlib.h> #include<stdio.h> void contain() { int x,y; int z,yushu; x=rand()%100; y=rand()%100; z=rand()%4; if(yushu==1) { switch (z) { case 0: cout<<x<<'+'<<y<<'='<<endl; break; case 1: cout<<x<<'-'<<y<<'='<<endl; break; case 2: cout<<x<<'*'<<y<<'='<<endl; break; case 3: cout<<x<<'/'<<y<<'='<<endl; break; } } else if((x%y)!=0) { x=x-x%y; switch (z) { case 0: cout<<x<<'+'<<y<<'='<<endl; break; case 1: cout<<x<<'-'<<y<<'='<<endl; break; case 2: cout<<x<<'*'<<y<<'='<<endl; break; case 3: cout<<x<<'/'<<y<<'='<<endl; break; } } } void nocontain() { int x,y; int z; x=rand()%100; y=rand()%100; z=rand()%2; switch (z) { case 0: cout<<x<<'+'<<y<<'='<<endl; break; case 1: cout<<x<<'-'<<y<<'='<<endl; break; } } int main() { srand((unsigned)time(NULL)); int i,num,mul,yushu,jianju; cout<<"****************欢迎使用本程序****************"<<endl; cout<<"请输入打印的间距:(1~5)"<<endl; cin>>jianju; cout<<"----------------------------------------------"<<endl; cout<<"请输入题目的数目:"<<endl; cin>>num; cout<<"----------------------------------------------"<<endl; cout<<"请选择是否包含乘除法:"<<endl; cout<<"1 .是"<<endl; cout<<"2 .否"<<endl; cin>>mul; cout<<"----------------------------------------------"<<endl; if(mul==1) { cout<<"请选择除法是否可以有余数:"<<endl; cout<<"1 .是"<<endl; cout<<"2 .否"<<endl; cin>>yushu; cout<<"----------------------------------------------"<<endl; } if(mul==1) { for(i=0;i<num+2;i++) { contain(); } } else for(i=0;i<num;i++) { nocontain(); } return 0; }
二.运行结果截图
三.总结
这次实验是在上次实验的基础上继续进行的,基本实现了是否包含乘除法,是否可以有余数,行间距,以及题目的数目的要求,对于其他要求的实现还有待研究。虽然实现了上述的几个功能,但是对于其中的一些功能还是有一些欠缺的地方有待改进,例如在多次调用的输出的函数中,可以把要输出的内容进行更加详细的分解,这对于主函数中的调用是十分方便的,但是在更改了几次之后,发现会出现一些其他的问题,所以打算在后续的试验中再加以优化。
四.PSP