我是一名初涉江湖的大学生,我是学C#编程的,前段时间学习了IF的嵌套,但我却听不懂?那位仁兄可以给小弟指点迷津?我将不胜感激!!!!!!!!!
现在先帮我解决个问题吧!
         
     1   X<-2
     -1   -2=<X<0
Y=   0    X>=5
     2   0=<X<5我不会打大括号,所以请见谅!希望各位,谁有空的话就帮我作下了,谢谢了!     

解决方案 »

  1.   


    using System;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                int y;
                int x;
                Console.WriteLine("请输入X:");
                string i = Console.ReadLine();            if (!int.TryParse(i, out x))
                {
                    Console.WriteLine("你个混淡输入了一个非数字!");
                    return;
                }            if (x < 2)
                {
                    y = 1;
                }
                else if (x < 0 && x >= -2)
                {
                    y = -1;
                }
                else if (x >= 5)
                {
                    y = 0;
                }
                else if (x >= 0 && x < 5)
                {
                    y = 2;
                }
                else
                {
                    Console.Write("超出范围!");
                    return;
                }            Console.Write("X={0};Y={1}", x, y);
                Console.ReadKey();
            }
        }
    }
      

  2.   

    LZ的意思是用if来做数学里的分段函数吧?
    过多的嵌套if会大大的降低代码的可读性,
    如果不是必要的话建议不要用.int f(x)
    {
    if (x<-2)
    return 1;
    if (-2<=x<0)
    return -1;
    if (x>=5)
    return 0;
    if (0<=x<5)
    return 2;
    }
    用法:
    int y=f(x);
      

  3.   

    我想2楼的兄弟代码已经比较清楚了,不过我觉得可以做得更好一点把这总分功能函数化也许更好理解。直接写一个函数返回值是它想要的那个。
    直接调用 
    int k = Y(3);
    k的值就是2。
    public int Y(int x)
    {
        int y;
        if(x<-2)
            y=1;
        else if(x<0)
            y=-1;
         else if(y<5)
            y=2;
         else
            y=0;
         return y;
    }