使用指针编程,判断输入的一串字符是否为“回文”,如果是输出YES,否则输出NO 。所谓“回文”,是指顺读和倒读都一样的字符串。例如"level","ABCCBA"都是回文。
时间: 2024-05-12 19:13:17 浏览: 55
回文字符串:判断一个是否是回文字符串。回文字符串是指正序(从左向右)和倒序(从右向左)读都是一样的字符串。
5星 · 资源好评率100%
以下是使用指针编写的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN + 1];
printf("Please enter a string: ");
fgets(str, MAX_LEN, stdin);
// Remove newline character
str[strcspn(str, "\n")] = '\0';
int len = strlen(str);
char *start = str;
char *end = str + len - 1;
while (start < end) {
if (*start != *end) {
printf("NO\n");
return 0;
}
start++;
end--;
}
printf("YES\n");
return 0;
}
```
首先,我们定义了一个最大长度为100的字符数组`str`,并使用`fgets`函数从标准输入读取用户输入的字符串。然后,我们使用`strlen`函数获取字符串的长度,并将指针`start`指向字符串的第一个字符,将指针`end`指向字符串的最后一个字符。接下来,我们使用一个`while`循环来遍历字符串中的字符,如果`start`和`end`指向的字符不相同,说明字符串不是回文,输出NO并结束程序。如果遍历完整个字符串都没有发现不相同的字符,说明字符串是回文,输出YES并结束程序。
阅读全文