标签:
关于二柱要实现的随机数四则运算代码如下:
// 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