用c语言:编写函数,判断一个字符串是否是回文。
时间: 2023-06-22 22:24:49 浏览: 175
可以使用双指针法,一个指针指向字符串头部,一个指针指向字符串尾部,逐一比较字符是否相同。
以下是实现代码:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int len = strlen(str);
int left = 0, right = len - 1;
while (left < right) {
if (str[left] != str[right]) {
return 0;
}
left++;
right--;
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
输入一个字符串后,调用 `isPalindrome()` 函数判断是否是回文字符串,返回 1 表示是回文字符串,返回 0 表示不是回文字符串。
相关问题
用C语言编写一函数测试一个字符串是否是回文串
好的,让我来回答你的问题。
你可以使用以下代码来编写一个函数来测试一个字符串是否是回文串:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int i = 0, j = strlen(str) - 1;
while (i < j) {
if (str[i] != str[j]) {
return 0; // Not a palindrome
}
i++;
j--;
}
return 1; // It is a palindrome
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s is a palindrome\n", str);
} else {
printf("%s is not a palindrome\n", str);
}
return 0;
}
```
这个函数使用了两个指针 i 和 j,分别指向字符串的开头和结尾,然后循环判断这两个指针所指向的字符是否相等。如果任意一对字符不相等,函数返回 0,表示该字符串不是回文串。如果循环结束后没有返回,那么表示该字符串是回文串,返回 1。
使用C语言编写函数,判断一个字符串是否是回文,调用该函数后输出结果。
好的,这是一个简单的C语言程序,实现了判断一个字符串是否是回文的功能:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str) {
int len = strlen(str);
int i, j;
for (i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
return 0;
}
}
return 1;
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
if (is_palindrome(str)) {
printf("是回文字符串\n");
} else {
printf("不是回文字符串\n");
}
return 0;
}
```
在该程序中,我们定义了一个名为is_palindrome()的函数,它的形参是一个指向字符数组的指针变量。在该函数中,我们首先使用strlen()函数计算出字符串的长度。接着使用两个指针i和j,分别指向字符串的开头和结尾,从两端开始遍历字符串,每次比较两个字符是否相等,如果不相等就返回0,表示不是回文字符串。如果遍历完整个字符串后都没有返回0,则说明是回文字符串,返回1。
在main()函数中,我们首先定义了一个字符数组str,然后使用scanf()函数从标准输入中读取这个字符串。接着调用is_palindrome()函数判断字符串是否是回文,最后输出结果。
需要注意的是,在输入字符串时,我们使用了%s格式控制符,这个控制符表示读取一个字符串,遇到空格或者换行符就停止读取。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)