设计思想:
1,定义二维数组,生成随机数后在数组内进行依次比较从而避免重复
2,循环体终止条件可定义从而可以定义数量
3,控制生成符号的随机数从而控制有没有乘除法
4,控制生成随机数从而控制数值范围
5,定义全局变量控制加减有无负数,控制随机数的生成范围
6,通过全局变量控制是否有余数生成,在除法部分进行判断
程序源代码:
1 #include<iostream> 2 #include<time.h> 3 using namespace std; 4 5 int cheng=1,kuo,ma,mi,jia,yu,amount;//分别为有没有乘除法,几个数之间的运算,取值范围,有没有负数,有没有余数 6 7 8 void produce(int cheng1,int kou1,int ma1,int mi1,int jia1,int yu1,int amount) 9 { 10 srand((unsigned)time(NULL));//产生随机种子 11 int jihe[10][30]; 12 for(int i=0;i<amount;i++) 13 { 14 int e=rand()%2;//两种情况,当为0时为整数四则运算,当为1时为真分数 15 if(e==0) 16 { 17 for(int i=0;i<kou1;i++) 18 { 19 jihe[i][j]=rand()%100; 20 } 21 for(int i=0;i<kou1-1;i++) 22 { 23 jihe[i][j]=rand()%100; 24 }//产生加减乘除四种情况 25 switch(c) 26 { 27 case 0: cout<<a<<"+"<<b<<"=?";break; 28 29 case 1: cout<<a<<"-"<<b<<"=?";break; 30 31 if(cheng==1) 32 { 33 case 2: cout<<a<<"*"<<b<<"=?";break; 34 35 case 3: while(b==0)//去掉分母为零的情况 36 { 37 srand((unsigned)time(NULL)); 38 b=rand()%100; 39 } 40 cout<<a<<"/"<<b<<"=?"; 41 } 42 } 43 cout<<endl; 44 } 45 else 46 { 47 int a=rand()%100; 48 int b=rand()%100; 49 int d=rand()%100; 50 int e=rand()%100; 51 int c=rand()%4; 52 if(b==0)//去掉分母为零的情况 53 { 54 b=rand()%100; 55 } 56 if(e==0) 57 { 58 e=rand()%100; 59 } 60 if(a>b) 61 { 62 int x; 63 x=a; 64 a=b; 65 b=x; 66 } 67 if(d>e) 68 { 69 int x; 70 x=e; 71 e=d; 72 d=x; 73 } 74 switch(c) 75 { 76 case 0: cout<<"("<<a<<"/"<<b<<")"<<"+"<<"("<<d<<"/"<<e<<")"<<"=?";break; 77 78 case 1: cout<<"("<<a<<"/"<<b<<")"<<"-"<<"("<<d<<"/"<<e<<")"<<"=?";break; 79 80 case 2: cout<<"("<<a<<"/"<<b<<")"<<"*"<<"("<<d<<"/"<<e<<")"<<"=?";break; 81 82 case 3: while(b==0) 83 { 84 srand((unsigned)time(NULL)); 85 b=rand()%100; 86 } 87 cout<<"("<<a<<"/"<<b<<")"<<"/"<<"("<<d<<"/"<<e<<")"<<"=?"; 88 } 89 cout<<endl; 90 } 91 } 92 }
运行结果截图:
psp 0级项目计划日志:
事件记录日志:
缺陷记录日志:
原文:http://www.cnblogs.com/sisi-job/p/5295539.html