using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace sisisisiis
{
class Program
{
private static int sun;
private static int sum;
private static int x, y, z,w;
private static string f;
private static string h;
private static string j;
static void Main(string[] args)
{
Console.Write("请输入随机数的范围(9-10):");
string azzz = Console.ReadLine();
string regex = @"(\d+)\D+(\d+)";
Match mstr = Regex.Match(azzz, regex);
int s1 = int.Parse(mstr.Groups[1].Value);
int s2 = int.Parse(mstr.Groups[2].Value);
random(s1, s2);
Console.Write("请输入答案:");
int l = int.Parse(Console.ReadLine());
qlgs(f, x, y);
hlgs(h, z, w);
qlgs(j, sun, sum);
if (l == sun)
{
Console.WriteLine("回答正确!");
}
else
{
Console.WriteLine("回答错误!");
}
Console.Read();
}
private static int qlgs(string a1,int a2,int a3)
{
switch (a1)
{
case "+":
sun = a2 + a3;
break;
case "-":
sun = a2 - a3;
break;
case "*":
sun = a2 * a3;
break;
case "/":
if (a3 == 0)
{
}
else
{
sun = a2 / a3;
}
break;
}
return sun;
}
private static int hlgs(string b1, int b2, int b3)
{
switch(b1)
{
case "+":
sum = b2 + b3;
break;
case "-":
sum = b2 - b3;
break;
case "*":
sum = b2 * b3;
break;
case "/":
if (b3 == 0)
{
}
else
{
sum = b2 / b3;
}
break;
}
return sum;
}
private static void random(int a,int b)
{
Random si = new Random();
x = si.Next(a, b);
y = si.Next(a, x);
z = si.Next(a, y);
w = si.Next(a, b);
string[] operators = new string[] { "+", "-", "*", "/" };
f = operators[new Random().Next(0, 4)];
string[] opera = new string[] { "+", "-", "*", "/" };
h = opera[new Random().Next(0, 4)];
j = operators[new Random().Next(0, 4)];
string z1 = "=";
string xfyhz ="("+ x + f + y +")"+ h +"("+z +j+w+")"+ z1;
Console.WriteLine(xfyhz);
}
}
}
总结:
总的来说这个方法很有局限性,没有把所有的情况都包括全,
string[] operators = new string[] { "+", "-", "*", "/" };
f = operators[new Random().Next(0, 4)];
string[] opera = new string[] { "+", "-", "*", "/" };
h = opera[new Random().Next(0, 4)];
为什么每次 f 都等于 h 不能这样用吗?
想了一下三个运算符,四个数,再加上是否带括号如果把所有的情况都列出来,有点不太可能,代码的重复性会更多。所以就用了这样的偷懒的方式!