用c语言写一个回文判断代码
时间: 2023-05-19 14:05:04 浏览: 91
以下是一个用 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 / 2; 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;
}
```
这个程序会要求用户输入一个字符串,然后判断这个字符串是否是回文字符串。如果是回文字符串,程序会输出“xxx 是回文字符串”,否则会输出“xxx 不是回文字符串”。
相关问题
用c语言写一个回文数代码
回文数是指正着读和倒着读都一样的数字。例如121、1221、12321都是回文数。下面是一个用C语言实现判断一个整数是否为回文数的示例代码:
```c
#include <stdio.h>
int main() {
int n, reversedN = 0, remainder, originalN;
printf("请输入一个整数:");
scanf("%d", &n);
originalN = n;
// 将n的各个位数反转
while (n != 0) {
remainder = n % 10;
reversedN = reversedN * 10 + remainder;
n /= 10;
}
// 判断是否是回文数
if (originalN == reversedN) {
printf("%d 是回文数。\n", originalN);
}
else {
printf("%d 不是回文数。\n", originalN);
}
return 0;
}
```
在上面的代码中,我们首先使用scanf函数从用户输入中读取一个整数,然后使用while循环将该整数的各个位数反转。最后,我们将反转后的整数和原始的整数进行比较,判断是否是回文数。
用c语言实现栈的回文判断
下面是用C语言实现栈的回文判断的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
char stack[MAX_SIZE];
int top = -1;
void push(char c) {
if (top == MAX_SIZE - 1) {
printf("Stack Overflow");
return;
}
stack[++top] = c;
}
char pop() {
if (top == -1) {
printf("Stack Underflow");
return -1;
}
return stack[top--];
}
int main() {
char str[MAX_SIZE];
int i, len, mid;
printf("Enter a string: ");
scanf("%s", str);
len = strlen(str);
mid = len / 2;
for (i = 0; i < mid; i++) {
push(str[i]);
}
if (len % 2 != 0) {
i++;
}
while (str[i] != '\0') {
if (str[i] != pop()) {
printf("%s is not a palindrome", str);
return 0;
}
i++;
}
printf("%s is a palindrome", str);
return 0;
}
```
这个程序使用一个字符数组作为栈来实现。我们首先读入一个字符串,然后将字符串的前一半字符依次入栈。接着,我们用一个循环读取字符串的后一半字符,同时弹出栈顶元素,并与当前字符比较。如果两个字符不相等,则该字符串不是回文,否则它是回文。
阅读全文