随机生成+-*/运算的简单算法

for(int i = 0; i<99 ;i++)
        {
        Random rnd 
= new Random();
        
//运算符
        int opera = rnd.Next(1,5);
        
//opera = 4;
        int result = 0;
        
int num1 = 0;
        
int num2 = 0;
        
int input;
        
do
        {
            result 
= rnd.Next(20);
        }
while(result < 1);
        
char op = '\0';
        
switch(opera)
        {
            
case 1//
                
            
//Console.WriteLine("{0}",result);
                num1 = rnd.Next(1,result);
                
//Console.WriteLine(num1);
                 num2 = result - num1;
                
//Console.WriteLine(num2);
                op = '+';
                
                    
break;
            
case 2//
                num2 = rnd.Next(1,result);
                num1 
= result+num2;
                op 
= '-';
                
//Console.WriteLine("{0}-{1}=?",num1,num2);
                break;
            
case 3://
                if(result%2!=0)result++;
                num1 
= rnd.Next(1,result);
                
//if(result%num1!=0)num1++;
                num2 = result / num1;
                
//if(result%num1!=0)num2++;
                result = (result==(num1 * num2)?result:(num1*num2));
                op 
= '*';
                
break;
            
case 4://
                result = rnd.Next(1,10);
                
if(result%2!=0)result++;
                num2 
= rnd.Next(1,result);
                num1 
= result * num2;
                op 
= '/';
                
break;
                
        }
        
        Console.WriteLine(
"-------\n{0}{2}{1}=?({3})",num1,num2,op,result);
                
                
int.TryParse(Console.ReadLine() as string,out input);
                Console.WriteLine(input
==result);
            
        }
posted on 2008-06-23 12:07  resake  阅读(487)  评论(0编辑  收藏  举报