编写一程序,识别依次读入的一个以“#”为结束符的字符序列是否为形如“序列1@序列2”模式的字符序列。期中序列1和序列2中都不含字符“@”,且序列2是序列1的逆序列。例如“a+b@b+a”是满足条件的序列字符,而“1+3@3-1”则不是。
一个以“#”结束的字符序列。
是满足条件的字符序列输出“yes!”;否则输出“no!”。
a+b@b+a#
yes!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
char str[1005];
while(cin>>str)
{
int i,j;
int flag=0;//flag用来做标记
int len=strlen(str);
if(str[len-1]!='#')
{
cout<<"no!";
continue;
}
int tmp;//tmp用来“@”的位置
for(i=0;i<len;i++)
{
if(str[i]=='@')
{
tmp=i;
break;
}
}
for(i=0,j=len-2;i<tmp,j>tmp;i++,j--)
{
if(str[i]!=str[j])
flag=1;
}
if(flag==0)
cout<<"yes!";
else
cout<<"no!";
}
return 0;
}