标签:
关于二柱要实现的随机数四则运算代码如下:
// 1_1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "iostream" #include "stdlib.h" #include "time.h" using namespace std; /*四则运算生成函数*/ void math(int m) { int a,b; int c; for(int i=0;i<m;i++) { for(int j=0;j<30;j++) { a=rand()%100; //随机生成两位数 b=rand()%100; c=rand()%4; switch(c) //随机产生运算符 { case 0: cout<<a<<‘+‘<<b<<‘=‘; break; case 1: cout<<a<<‘-‘<<b<<‘=‘; break; case 2: cout<<a<<‘*‘<<b<<‘=‘; break; case 3: //真分数判断 if(a<=b&&b!=0) cout<<a<<‘/‘<<b<<‘=‘; else cout<<b<<‘/‘<<a<<‘=‘; break; } if(j%2==0) cout<<"\t\t\t"; else if(j%2==1) cout<<endl; } cout<<endl; } } int main() { int m; char s=‘Y‘; /*使用srand函数生成预置随机数种子, 避免每次打开程序生成相同的随机数列*/ srand((unsigned)time(NULL)); while(s==‘Y‘||s==‘y‘) { cout<<"请输入您要打印题目套数:"; cin>>m; cout<<endl; math(m); cout<<"是否继续打印(Y/N):"; cin>>s; cout<<endl; while(s!=‘Y‘&&s!=‘y‘&&s!=‘N‘&&s!=‘n‘) { cout<<"输入错误,请重新输入(Y/N):"; cin>>s; cout<<endl; } } return 0; }
在课上,只是实现了随机数的产生,并没有实现随机数的四则运算,而是顺序进行加减乘除,另外由于对随机函数的不熟悉,没有明确的解决方法,所以没有在课堂上实现。
课下实现时,使用rand函数完成了随机数的四则运算,但是调试时发现,每次重新运行程序,出现的随机数列是相同的,并不能实现随机数四则运算。所以在程序里,用到了srand函数,用时间作为参数,每次产生不同的预置随机数seed,从而产生不同的随机数列,实现随机数四则运算。
标签:
原文地址:http://www.cnblogs.com/zhshto/p/4319949.html