请编写程序,该函数的功能是:判断字符串是否为回文。若是则函数返回1,主中输出 YES;否则返回0,主函数中输出 NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。
时间: 2024-05-02 12:19:53 浏览: 43
以下是代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int is_palindrome(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return 0;
}
}
return 1;
}
int main() {
char str[101];
cin >> str;
if (is_palindrome(str)) {
cout << "YES" << endl;
return 1;
}
cout << "NO" << endl;
return 0;
}
```
输入一个字符串,然后调用 `is_palindrome` 函数判断是否是回文,最后输出结果。如果是回文就返回 `1`,否则返回 `0`。
相关问题
请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。
这是一个经典的字符串处理问题,我们可以创建一个名为`fun`的函数来完成这个任务。下面是一个用Python编写的示例:
```python
def is_palindrome(s):
# 去除字符串中的空格,并转为小写,便于比较
s = ''.join(c for c in s if c.isalnum()).lower()
# 比较字符串与其反转是否相等
return s == s[::-1]
def main():
input_str = input("请输入一个字符串: ")
result = is_palindrome(input_str)
if result:
print("yes")
return 1
else:
print("no")
return 0
if __name__ == "__main__":
main()
```
这个`is_palindrome`函数首先去除字符串中的非字母数字字符并将所有字符转换为小写。然后,它通过切片操作`s[::-1]`获取字符串的反转版本,若两者相等,则说明是回文。
C++请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出N0。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。
在C++中,你可以创建一个名为`fun`的函数来检查一个字符串是否是回文。下面是一个简单的实现方法:
```cpp
#include <iostream>
#include <string>
// 定义判断回文的函数
bool isPalindrome(const std::string& str) {
int start = 0;
int end = str.length() - 1;
while (start < end) {
if (str[start] != str[end]) {
return false; // 如果任意两个字符不匹配,非回文
}
start++;
end--;
}
return true; // 所有字符都匹配,是回文
}
int main() {
std::string input;
std::cout << "请输入一个字符串: ";
std::cin >> input;
bool result = isPalindrome(input);
if (result) {
std::cout << "YES" << std::endl;
return 1; // 回文,返回1
} else {
std::cout << "NO" << std::endl;
return 0; // 非回文,返回0
}
}
```
这个程序首先接收用户输入的字符串,然后调用`isPalindrome`函数检查是否是回文。如果返回`true`,说明字符串是回文,并输出`YES`;如果返回`false`,输出`NO`。
阅读全文