判断一个整数是否是对称数

源作者:追风 人气:2048

昨天到一家公司笔试,做了一道判断一个整数是否是对称数的题.要求用Pascal语言,回来后我也用C#来实现.算法如下,期望对初学C#的朋友有点帮助.这里我用了两种算法实现.

算法一,先取首个与末个数字比较,再取第二个与倒数第二个字符比较,以此类推...在每一次比较中若不相等则返回一个为false的bool值,即这个数不是对称数.具体程序如此而已下:

using System;
namespace ConsoleApplication3
{
    /// <summary>
    /// Summary description for Class1.
    /// </summary> 
    class Class1
    {
        public static void Main()
        {
            int a = 36455463;
            bool flag;
            flag = Symmetry(a);
            if (flag)
                Console.WriteLine(a + "是对称数!");
            else
                Console.WriteLine(a + "不是对称数!");
        }
        public static bool Symmetry(int Val)
        {
            string s;
            s = Val.ToString();
            char x, y;
            bool flag = true;  //如果Val是对称数flag为真,否则为假
            for (int i = 0; i < s.Length / 2; i++)
            {
                x = s[i];
                y = s[s.Length - 1 - i];
                if (x != y)
                {
                    flag = false;  //不是对称数
                }
            }
            return flag;
        }
    }
}

算法二,先定义一个字符串,按倒序的方式读入这个整数依次用连接字符串的文法赋给这个串.最后比较两个字符串是否相等.若不相等则返回一个为false的bool值,即这个数不是对称数.具体程序如此而已下:

using System;
namespace ConsoleApplication3
{
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
        public static void Main()
        {
            int a = 36455463;
            bool flag;
            flag = Symmetry(a);
            if (flag)
                Console.WriteLine(a + "是对称数!");
            else
                Console.WriteLine(a + "不是对称数!");
        }
        public static bool Symmetry(int Val)
        {
            string s, x = "";
            s = Val.ToString();
            bool flag = true;  //如果Val是对称数flag为真,否则为假
            for (int i = s.Length - 1; i >= 0; i--)
            {
                x = x + s[i];
            }
            Console.WriteLine(s + "  " + x);
            if (s.Trim() != x.Trim())
            {
                flag = false;  //不是对称数
            }
            return flag;
        }
    }
}
Contributors: FHL