软件工程第二堂课上,老师给我们讲了,代码的扩展,就好比分布求解一样,把一个大的问题分解为若干个小问题来解决,当我们把一个个的小问题逐个解决时,整个问题也就随之解决了。最后老师留了一道随堂题:要求用程序生成30道100以内的四则运算题。让我们思考,分解的步骤,最后解决。
问题来了,首先写出生成一道题四则运算题,于是就得需要两个数,要求随机,这时就用random()函数生成两个随机数a、b。这时,数的问题解决了,接下来就是四则运算符号了,我想那就依此生成加、减、乘、除的运算题就行了吧,然后for循环30次,成功搞定!
下面是根据以上分析的实现代码:
//随机生成30道一百以内四则运算题 王世强 2015/3/3
#include<iostream> #include<stdlib.h> #include<iomanip> using namespace std; #define random() (rand()%100) int main() { int i,j,a,b; char k; for(i=0;i<30;i++) { a=random(); b=random(); j=i%4; int s=0; if(j==0) k='+',s=a+b; else if(j==1) k='-',s=a-b; else if(j==2) k='*',s=a*b; else k='/',s=a/b; cout<<setw(3)<<a<<setw(2)<<k<<setw(3)<<b<<setw(3)<<"= "<<s<<endl; } return 0; }
结果如下: