按照楼主对回文 的定义,给出如下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; } 测试已通过.
试试这个: 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扩展方法的应用。
照顾一下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(); } }
你再改进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?"是":"不是");
}
{
string sValue = v.ToString().PadLeft(5,'0'); return(sValue[0] == sValue[4] && sValue[1] == sValue[3]);
}
楼上都说了广告
编程新手论坛http://freshcoder.5d6d.com/bbs.php
/// <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;
}
测试已通过.
{
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扩展方法的应用。
{
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();
}
}