自动出题程序(10以内的数字的四则运算)

代码如下:

#include <iostream>#include <cstdlib>#include <ctime>using namespace std;int main(){int num1,num2,op,result1,result2; //num1,num2:操作数;op:运算符;result1,result2:结果do{srand(time(NULL));num1=rand()*10/(RAND_MAX+1);num2=rand()*10/(RAND_MAX+1); //生成运算数op=rand()*4/(RAND_MAX+1); //生成运算符 0– +,1– -,2– *,3– /switch (op){case 0:cout<<num1<<"+"<<num2<<"=? ";cin>>result1;if (num1+num2 == result1)cout<<"you are right"<<endl;elsecout<<"you are wrong"<<endl;break;case 1:cout<<num1<<"-"<<num2<<"=? ";cin>>result1;if (num1-num2 == result1)cout<<"you are right"<<endl;elsecout<<"you are wrong"<<endl;break;case 2:cout<<num1<<"*"<<num2<<"=? ";cin>>result1;if (num1*num2 == result1)cout<<"you are right"<<endl;elsecout<<"you are wrong"<<endl;break;case 3:cout<<num1<<"/"<<num2<<"=? ";cin>>result1;cout<<"余数为=? ";cin>>result2;if ((num1/num2 == result1)&&(num1%num2==result2))cout<<"you are right"<<endl;elsecout<<"you are wrong"<<endl;break;}}while(1);return 0;}库cstdlib中含有随机数生成函数。程序的循环内的第一条语句srand(time(NULL))的作用是设置随机数的种子,随机数的生成需要种子,不同的种子可以生成不同1随机数序列。如果用户不设置随机数的种子,系统会指定一个。系统为每个程序、每次执行指定的随机数的种子都是相同的,即在程序中,每次执行出的题目都是相同的。但同时,如果程序员设置的种子是一个固定值,那么程序每次执行的到的随机数序列还是相同的。如果让程序每次执行时选择的种子不一样呢?在一个计算机系统中,时间总是在变。因此把系统时间设为种子是一个很好的想法。time(NULL)就是取当前的系统时间。为了使用时钟,,需要包含头文件ctime。 ————翁惠玉老师《C++程序设计思想与方法》

美好的生命应该充满期待惊喜和感激

自动出题程序(10以内的数字的四则运算)

相关文章:

你感兴趣的文章:

标签云: