通过条件语句和循环结构,判断一个字符串是否为回文字符串
以下是一个 C# 程序,用条件语句和循环结构判断一个字符串是否为回文字符串:
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个字符串:");
string input = Console.ReadLine();
if (IsPalindrome(input))
{
Console.WriteLine(#34;'{input}' 是回文字符串。");
}
else
{
Console.WriteLine(#34;'{input}' 不是回文字符串。");
}
}
static bool IsPalindrome(string str)
{
// 去掉空白字符并转换为小写
str = str.Replace(" ", "").ToLower();
int left = 0;
int right = str.Length - 1;
while (left < right)
{
if (str[left] != str[right])
{
return false; // 如果左右字符不相等,则不是回文
}
left++;
right--;
}
return true; // 遍历完没有找到不匹配的字符,则是回文
}
}
程序说明
- 输入处理:
- 使用 Console.ReadLine() 接收用户输入的字符串。
- 使用 Replace(" ", "") 去除字符串中的空格。
- 使用 ToLower() 将字符串统一为小写字母,确保大小写一致性。
- 回文判断逻辑:
- 定义两个指针 left 和 right,分别从字符串的头部和尾部向中间移动。
- 使用 while 循环,比较字符串的左右字符是否相等:如果找到不相等的字符,则立即返回 false,表示不是回文。如果循环结束,表示所有对应字符都相等,返回 true,表示是回文。
- 输出结果:
- 如果是回文字符串,提示用户 "是回文字符串"。
- 如果不是回文字符串,提示用户 "不是回文字符串"。
示例运行
输入示例 1:
请输入一个字符串:
abba
'abba' 是回文字符串。
输入示例 2:
请输入一个字符串:
A man a plan a canal Panama
'A man a plan a canal Panama' 是回文字符串。
输入示例 3:
请输入一个字符串:
hello
'hello' 不是回文字符串。