static void Main(string[] args)
{
Console.WriteLine("請輸入要判斷的字符串");
string s;
s = Console.ReadLine();
if(hanshu(s)==1)
{
Console.WriteLine("輸入字符串是回文串!");
}
if(hanshu(s)==0)
{
Console.WriteLine("輸入字符串不是回文串!");
}
return 0;
}
int hanshu(string s[])
{
int j = s.Length;
if (j % 2 == 0)
{
int i, k;
for (i = 0, k = s.Length - 1; i <= k - 1; i++, k--)
{
if (s[i] == s[k])
{
return 1;
}
else
{
return 0;
}
}
}
if (j % 2 != 0)
{
int k = j / 2;
int i;
for (i = 1; k <= j - 1 - k; i++)
{
if (s[k - i] == s[k + i])
{
return 1;
}
else
{
return 0;
}
}
}
}
如果你想用循環,可以這麼寫。
static int hanshu(string s)
{
if (s == "") return 1;
for (int i = 0; i < s.Length / 2; i++)
{
if (s[i] != s[s.Length - i - 1]) return 0;
}
return 1;
}
另外,和C語言不同,C#支持bool類型,所以更地道的寫法是直接用bool作為函數的返回值。