回文串判定

来源:互联网 发布:u盘数据丢失 编辑:程序博客网 时间:2024/05/23 14:29

回文串判定

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

输入一串字符(长度小于100),判断该串字符是否是回文串(正序读与逆序读内容相同)。

输入

输入一串字符(长度小于100)。

输出

若该串字符是回文串输出“yes",否则输出”no“。

示例输入

asdfgfdsa

示例输出

yse


这道题第一次写了,(没用栈),后来用栈后对了。。。

(第一次代码)

#include<stdio.h>
#include<string.h>

int main()
{
    char s[200];
    scanf("%s",s);
    int l=strlen(s);
    int f;
    for(int i=0;i<l/2;i++)
    {
        if(s[i]!=s[l-i-1])
        {
            f=0;break;
        }
        else f++;
    }
    if(!f) printf("no\n");
    else printf("yes\n");
    return 0;
}

(第二次正确的代码)

#include<stdio.h>
#include<string.h>


#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define maxsize 200

typedef char Elemtype;
typedef int Status;

typedef struct
{
    Elemtype data[maxsize];
    int top;
}Stack;

Status Initstack (Stack &S)
{
    S.top=-1;
    return OK;
}

Status Push(Stack &S,char e)
{
    if(S.top==maxsize-1) return ERROR;
    S.top++;
    S.data[S.top]=e;
    return OK;
}




0 0
原创粉丝点击