PTA 7-273 判断回文串

该程序设计问题旨在判断给定的字符串是否为回文串。通过读入测试数据组数,对每个字符串进行遍历,比较首尾字符是否相同,若不同则设置标记并使用goto语句结束判断。最后根据标记输出结果。
摘要由CSDN通过智能技术生成

7-273 判断回文串
分数 10
作者 usx程序设计类课程组
单位 绍兴文理学院
若一个串正向看和反向看等价,则称做回文串。例如:t,abba,xyzyx均是回文串。
给出一个长度不超过60的字符串,判断是否是回文串。

输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每行输入一个长度不超过60的字符串(串中不包含空格)。

输出格式:
对于每组测试数据,判断是否是回文串,若是输出“Yes”,否则输出“No”。引号不必输出。

输入样例:
2
abba
abc
输出样例:
Yes
No

#include <stdio.h>
int main(){
    
    int T;
    char ch[70];
    scanf("%d", &T);
    
    for(int t = 1; t <= T; t++){    //测试组
        int flag = 0;    //标记
        scanf("%s", &ch);
        int len = strlen(ch);    //字符串长度
        for(int i = 0; i < strlen(ch)/2; i++){    //判断是否是回文串
            if(ch[i] != ch[len-1]){
                flag = 1;
                goto there;    //无条件跳转到指定行去执行语句
            }
            len--;
        }
        there:if(flag == 0)    //是回文串
            printf("Yes\n");
        else
            printf("No\n");
    }
    
    return 0;
}

解题思路:
用for循环将字符串的第一个和最后一个,第二个和倒数第二个,以此类推去进行比较,只要有一个不相等就不是回文串,且标记下来,用goto跳出循环且到指定行执行语句

归属知识点:
循环结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值