• 特定字符序列的判断(1028)


    描述

    编写一程序,识别依次读入的一个以“#”为结束符的字符序列是否为形如“序列1@序列2”模式的字符序列。期中序列1和序列2中都不含字符“@”,且序列2是序列1的逆序列。例如“a+b@b+a”是满足条件的序列字符,而“1+3@3-1”则不是。

    input

    一个以“#”结束的字符序列。

    output

    是满足条件的字符序列输出“yes!”;否则输出“no!”。

    样例输入

    a+b@b+a#

    样例输出

    yes!

    这道题没什么难度,具体代码如下

     1 #include<iostream>
     2 #include<string.h>
     3 using namespace std;
     4  
     5 int main(){
     6     char *p=new char[100];
     7     cin>>p;
     8     int len=strlen(p);
     9     int num1=0,num2=0,pos=0;
    10     for(int i=0;i<len;i++){
    11         if(p[i]=='@'){
    12             num1++;
    13             pos=i;
    14         }
    15         if(p[i]=='#'){
    16             num2++;
    17         }
    18     }
    19     if(p[len-1]!='#'||p[len-2]=='@'||num1!=1||num2!=1){
    20         cout<<"no!";
    21         return 0;
    22     }
    23     for(int i=pos-1,j=pos+1;i>=0&&j<=len-1;i--,j++){
    24         if(p[i]!=p[j]){
    25             cout<<"no!";
    26             return 0;
    27         }
    28     }
    29     cout<<"yes!";
    30     delete[]p;
    31      
    32     return 0;
    33 } 
  • 相关阅读:
    tap事件的原理详解
    获取地理位置
    获取高度
    JSON字符串与JSON对象的区别
    zepto方法
    javascript 中 click 和onclick有什么区别呢
    oninput,onpropertychange,onchange的用法和区别
    js实时监听input中值得变化
    sql lock
    数据库SQL优化大总结
  • 原文地址:https://www.cnblogs.com/swust-wangyf/p/6726006.html
Copyright © 2020-2023  润新知