回文字符串c语言程序编写
时间: 2023-10-14 14:30:22 浏览: 194
以下是一个简单的回文字符串的 C 语言程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, flag = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for(i = 0; i < len; i++)
{
if(str[i] != str[len - i - 1])
{
flag = 1;
break;
}
}
if(flag == 1)
{
printf("%s 不是回文字符串。\n", str);
}
else
{
printf("%s 是回文字符串。\n", str);
}
return 0;
}
```
运行程序后,用户可以输入一个字符串,程序会判断该字符串是否为回文字符串并输出结果。
相关问题
判断回文字符串c语言程序
判断回文字符串是指正读反读都一样的字符串,例如"level"、"madam"等。在C语言中,可以编写一个函数来检查输入的字符串是否是回文。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
// 函数用于检查字符串是否是回文
int isPalindrome(char str[]) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) { // 只需比较一半字符
if (str[i] != str[length - i - 1]) {
return 0; // 如果任意一对字符不相等,就不是回文
}
}
return 1; // 所有字符都匹配,则是回文
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 注意这里需要去掉fgets末尾的换行符
// 删除fgets末尾的换行符
size_t len = strlen(input);
if (input[len - 1] == '\n') {
input[len - 1] = '\0';
}
if (isPalindrome(input)) {
printf("%s 是回文\n", input);
} else {
printf("%s 不是回文\n", input);
}
return 0;
}
```
判断是否是回文字符串的c语言程序
判断一个字符串是否是回文的,即正读和反读都一样,可以用C语言编写一个简单的程序。以下是一个基本的示例:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
if (str[i] != str[length - 1 - i]) { // 比较首尾字符是否相等
return 0; // 如果不等,则不是回文
}
}
return 1; // 遍历完都没发现不等的字符,说明是回文
}
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 注意去除fgets带来的换行符
input[strcspn(input, "\n")] = '\0'; // 替换换行符
if (isPalindrome(input)) {
printf("%s 是一个回文字符串。\n", input);
} else {
printf("%s 不是回文字符串。\n", input);
}
return 0;
}
```
在这个程序中,`isPalindrome` 函数比较字符串的第一个字符和最后一个字符,然后依次向中间移动,直到找到不相等的字符或者遍历完整个字符串。如果整个过程都没有发现不匹配的字符,那么就返回1表示是回文。
阅读全文