有三个文本框: textbox1  textbox2  textbox3     这三个文本框为用户输入的地方,注意可以输入任何数字,如整数,小数等。又有三个文本框 : textbox4  textbox5  textbox6  这三个文本框是表示电脑配对的数字。这三个数字满足条件             结果一: textbox1.text *  textbox4.text - textbox5.text - textbox6.text>=0             结果二: textbox2.text *  textbox5.text - textbox4.text - textbox6.text>=0
                
            结果三:textbox3.text *  textbox6.text - textbox5.text - textbox4.text>=0 
            
            条件:100<=textbox4.text + textbox5.text + textbox6.text<=100000 && 
                    (textbox4.text + textbox5.text + textbox6.text)%100==0            结果即都为正的(这是最好的情况)或者满足条件 上面的结果为两正一负,该怎样实现呢?
 用for循环实现吗?

解决方案 »

  1.   

    写个失去焦点的事件,将你所有的表达式写进去不行么?
    写个try
    {
    1:...
    2:...
    ....
    }
    catch
    {}
    管他数据是否为空,为空的话肯定报错,也就肯定到catch里面
      

  2.   

    一班而言,是程序员将方程式展开,做成函数的形式,输入参数,返回结果。你现在需要使用软件来解方程?
    你应该用这种方法:有一个三元一次方程组,参数为TEXTBOX1~3,然后返回三个解即可。还是需要自己来解方程的
      

  3.   

    以下是我个人的思路,题目可以替换为(前两个条件): a,b,c 为1~3号textbox的输入 
    ax+by+cz>=2(x+y+z)
    设 b=a+d, c=a+f ,那么可以转换为
    dy+fz>=2/a  推出  z>=(2/a-dy)/f那么这个问题变得简单了,由于a,b,c可以提前知道, d,f这两个差值也就知道了,那么我们可以任意将Y指定一个值,就可以得到z的值 (这个值需要z>=(2/a-dy)/f 上取整)
    y,z都确定的情况下,求X就简单了, 之需要满足和在100~10000之间,然后他们的和对100取模为0就OK了。
      

  4.   

    object o=new DataTable().Compute("","")计算判断
    控件值可直接获取也可遍历
      

  5.   


    ax+by+cz>=2(x+y+z)                   //怎么得来的呢?设 b=a+d, c=a+f ,那么可以转换为          //f又是什么东东??能耽误你几分钟跟我细细讲讲吗?
      

  6.   


    仔细看我的假设, a,b,c 为1~3号textbox的输入, x,y,z为后三个要求的值,
    ax-y-z>=0
    by-x-z>=0
    cz-x-y>=0
    那么,ax-y-z+by-x-z+cz-x-y>=0, 那么推出 ax+by+cz>=2(x+y+z)
    因为a,b,c都是已知的, b=a+d, c=a+f这个还不明白么? 比如输入 a=1, b=2, c=3 那么 b=a+1, c=a+2, 当然d,f肯定可能为负数,没有关系好了讲解就到这里。
      

  7.   


    推导了半天,也没有看明白,请问d,f这两个差值也就知道了,有什么用,你的推导公式中没有一个用到该插值的地方。比如x=(d-f)+a+b+c...之类的,也就是说,等式的右边应该都是确定的。
    我认为好人就要做到底,最终给出
    x=...
    y=...
    z=...
    x+y+z(%100)=100
    才是最终的结果。
    或者等式的右边有一个循环次数已知的整型变量u,使得等式成立
    x=...+u
    y=...+u
    z=...+u
    x+y+z(%100)=100
    希望zhengqian529指导
      

  8.   

    注意用Convert.ToInt32(textBox1.text)
      

  9.   


    哈哈,其实我也就是按照我的思考推论一下,不一定正确,你应该完整的看我的回复,我在上面已经说过了。
    大家集体来解决吧。 我来说明一下:
    我在第一次发言的时候推导出:z>=(2/a-dy)/f  (a,d,f肯定是可以得到的,具体精确到浮点数多少位看需求了),由此我推断关键的事情就在Y上面,所以程序可以给Y任意一个值, 然后通过这个公式得到Z,但是要符合z>=(2/a-dy)/f 。
    得到Y,z以后就可以通过剩下的2个公式求X。
      

  10.   


    double a = 1;
                double b = 2;
                double c = 3;
                double d = 1;
                double f = 2;            double x=0, y, z;
                int ran;
                Random r = new Random();
                y=r.Next(100, 10000);            z = (2 / a + d * y) / f;            if (int.TryParse(z.ToString(),out ran))
                {
                    for (int i = 0; i < 10000-y-ran; i++)
                    {
                        if ((i + y + z) % 100 == 0&&(i+y+z)<=10000&&(i+y+z)>=100)
                            x = i;
                    }
                }            Console.WriteLine("x:{0} Y:{1} Z:{2}",x,y,z);
      

  11.   

    对17楼说的话:
       恕学生愚昧,还是不懂大哥的意思,a,b,c表示用户输入的数字,x,y,z表示要求的数字,那么d,f是干什么用的,大哥说假设为什么要这样假设呢?这样假设有什么用呢?还有就是依照上面大哥的意思,x永远都是0的值其它的都能理解,还有就是上面double b = 2; double c = 3;都没有用上...........我的想法是用a,b,c的倒数来乘以a,b,c 使得 x=a的倒数, y=b的倒数, z=c的倒数,但是问题来了,如果按照我的思路来做的话那么那些条件很难够满足,即使满足了,但是也不好分配......谁能告诉我啊!!
               代码如下:下面就不知道该怎样下手了:
               float a = float.Parse("2.35");    //用户输入的数字一
                float b = float.Parse("3.10");    //用户输入的数字二
                float c = float.Parse("2.50");    //用户输入的数字三            float aa = float.Parse(Convert.ToDouble(1 / 2.35).ToString("f2"));  //用户输入的数字一的倒数
                float bb = float.Parse(Convert.ToDouble(1 / 3.10).ToString("f2"));  //用户输入的数字二的倒数
                float cc = float.Parse(Convert.ToDouble(1 / 2.50).ToString("f2"));  //用户输入的数字三的倒数
      

  12.   

    我觉得,用三个for循环嵌套,外加一个if语句,貌似就可以了额~~~虽然比较繁琐~~~~
      

  13.   

    方程ax-y-z=0在空间表示一个平面,不等式方程ax-y-z>=0表示该平面某一侧的所有空间
    满足不等式方程组的集合表示这些空间的交集
    ax-y-z>=0
    by-x-z>=0
    cz-x-y>=0
    x+y+z>=100
    (a,b,c为已知的正有理数)
    所以用脑袋想想,它们的空间不一定都在同一侧呀,即使在同一侧,也可能交集不在x+y+z<=100的空间呀
    所以不是一定有解的
      

  14.   

    修正,应该是也可能交集不在x+y+z>=100 <=100000的空间呀