随机四则运算的程序
一.程序源代码
#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




浙公网安备 33010602011771号