一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
这个C#代码怎么写?

解决方案 »

  1.   

            
    你再改进private void button1_Click_1(object sender, EventArgs e)
            {
                string s = "123454321";
                bool b=true;
                for (int i = 0; i < s.Length / 2; i++)
                {
                    if (s[i] != s[s.Length - 1 - i])
                    {
                        b = false;
                        break;
                    }
                }            MessageBox.Show(b?"是":"不是");
            }
      

  2.   

    public bool IsHuiweng(int v)
    {
       string sValue = v.ToString().PadLeft(5,'0');   return(sValue[0] == sValue[4] && sValue[1] == sValue[3]);
    }
      

  3.   

    ....
    楼上都说了广告
    编程新手论坛http://freshcoder.5d6d.com/bbs.php
      

  4.   

    按照楼主对回文 的定义,给出如下C#代码
            /// <summary>
            /// 检测对称的万位数(5位回文)
            /// </summary>
            /// <param name="num"></param>
            /// <returns></returns>
            bool JudgeHNumber(int num)
            {
                bool t = default(bool);
                int temp1, temp2;
                temp1 = temp2 = 0;
                if (num>10000&&num<99999)
                {
                    for (int i = 0; i < 10; i++)
                    {
                        if ((num-temp1)%10==0&&( num-temp1)/10<1000&&(num-temp1)/10>100)
                        {
                            for (int j = 0; j < 10; j++)
                            {
                                if (((num - temp1 )/10- temp2 )/10>= 0 && ((num - temp1 )/10- temp2 )/10< 10)
                                {
                                    t = true;
                                    break;
                                }
                                temp2 = j * 100 + j;
                            }
                        }temp1 = i * 10000 + i;
                    }
                }
                return t;
            }
    测试已通过.
      

  5.   

    试试这个:    public static class StringPlus
        {
            public static string Reverse(this string s)
            {
                string ret ="";
                for (int i=s.Length-1;i>=0;i--)
                {
                    ret +=s[i];
                }
                return ret;
            }   
        }
        class Program
        {
            static void Main(string[] args)
            {
                int a = 123;
                Console.WriteLine(a.ToString().Reverse());
                Console.ReadKey();
            }
        }注意里面C#3.0扩展方法的应用。
      

  6.   

    照顾一下VS2005的用户和不熟悉C# 3的,我把两个方法都写到这里:  public static class StringPlus
        {
            public static string Reverse(this string s)
            {
                return ReverseOlder(s);
            }        public static string ReverseOlder(string s)
            {
                string ret = "";
                for (int i = s.Length - 1; i >= 0; i--)
                {
                    ret += s[i];
                }
                return ret;
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                int a = 123;
                //C# 3.0 扩展方法的写法
                  Console.WriteLine(a.ToString().Reverse());
                //C# 2.0 普通的写法
                  Console.WriteLine(StringPlus.ReverseOlder(a.ToString()));
                Console.ReadKey();
            }
        }