您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页【PTA】 字符串对称

【PTA】 字符串对称

来源:百家汽车网

编写一个算法利用顺序栈判断一个字符串是否是对称串。所谓对称串是指从左向右读和从右向左读的序列相同。

输入格式:

输入一个无空格的字符串。

输出格式:

如果该字符是对称的,输出yes,否则输出no。

输入样例:

在这里给出一组输入。例如:

abba

输出样例:

在这里给出相应的输出。例如:

yes

输入样例:

abcd

输出样例:

在这里给出相应的输出。例如

no

代码长度

16 KB

时间

400 ms

内存

MB

8192 KB

 

代码(C语言):

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

#define YES 1;
#define NO 0;

typedef struct SString
{
    char ch[10000];
    int length;
}SString;



void StrAssign(SString *T);//串输入
void StrOutput(SString *T);//串输出
int StrJudge(SString *T);//判断是否对称,通过0/1判断


int main()
{
    SString T;

    StrAssign(&T);
//    StrOutput(&T);//判断是否正确输入,输出出来看看
    int p;
    p=StrJudge(&T);
    if(p==1)
        printf("yes");
    else
        printf("no");
}

void StrAssign(SString *T)//串输入
{
    int i=1;
    scanf("%c",&T->ch[i]);
    while(T->ch[i]!='\0')
    {
        i++;
        scanf("%c",&T->ch[i]);
   }
    T->length=i-1;
}


void StrOutput(SString *T)//串输出
{
    int i;
    for(i=1;i<=T->length;i++)
    {
        printf("%c",T->ch[i]);
    }
    printf("\n");
}

int StrJudge(SString *T)//判断是否对称
{
    int i,j;
    j=T->length;
    for(i=1;i<=T->length;i++)
    {
        if(T->ch[i]!=T->ch[j])
            return NO;
        j--;
    }

    return YES;
}

 

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务