回文指的是一个字符串从前面读和从后面读都一
样,编写一个算法判断一个字符串是否为回文。
要求:
1)采用链栈实现算法;
2)从键盘输入一个字符串,输出判断结果。
#include"stdio.h" #include"stdlib.h" typedef char ElemType; typedef struct stnode { ElemType data; struct stnode *next; }StNode, *LinkStack; int huiwen(char str[]) { int i = 0; char ch; StNode *sl = NULL, *p; while ((ch = str[i++]) != ‘\0‘) { p = (StNode *)malloc(sizeof(StNode)); p->data = ch; p->next = sl; sl = p; } i = 0; while (sl != NULL) { p = sl; ch = p->data; sl = sl->next; free(p); if (ch != str[i++]) return 0; } return 1; } void main() { char string[20]; int hw; printf("input a string:"); gets_s(string); hw = huiwen(string); if (hw) printf("The string is HUIWEN."); else printf("The string is not HUIWEN."); }
微信公众号 资源库resource
博客 www.resource143.com
原文地址:https://www.cnblogs.com/resource143/p/10657639.html
时间: 2024-12-15 11:19:17