请大家帮忙,看看这个程序怎么编写.谢谢了!
假设称正读和反读都相同的字符序列为"回文",假如"abba"和"abcba"是回文,"abcda"则不是回文,试编写算法判别读入的一个以"@"为结束符的字符序列是否为"回...
假设称正读和反读都相同的字符序列为"回文",假如"abba"和"abcba"是回文,"abcda"则不是回文,试编写算法判别读入的一个以"@"为结束符的字符序列是否为"回文".
基于队列的哦 展开
基于队列的哦 展开
4个回答
展开全部
#include<iostream>
#include<string>
using namespace std;
int main()
{
char ch;
bool flag=true; //标记,是否为回文序列
int len=0; //计数器,字符串长度
char str[100]; //预分配100字符空间
cout<<"输入字符串,以@结尾:";
//以下输入字符
cin>>ch;
while(ch!='@')
{
str[len++]=ch;
cin>>ch;
}
str[len]='\0';
//以下判断是否是回文
for(int i=0;i<len/2;i++)
{
flag &= (str[i]==str[len-1-i]);
}
if(flag)
cout<<str<<"是回文序列。"<<endl;
else
cout<<str<<"不是回文序列。"<<endl;
return 0;
}
DEV-C++和Borland C++下测试通过
#include<string>
using namespace std;
int main()
{
char ch;
bool flag=true; //标记,是否为回文序列
int len=0; //计数器,字符串长度
char str[100]; //预分配100字符空间
cout<<"输入字符串,以@结尾:";
//以下输入字符
cin>>ch;
while(ch!='@')
{
str[len++]=ch;
cin>>ch;
}
str[len]='\0';
//以下判断是否是回文
for(int i=0;i<len/2;i++)
{
flag &= (str[i]==str[len-1-i]);
}
if(flag)
cout<<str<<"是回文序列。"<<endl;
else
cout<<str<<"不是回文序列。"<<endl;
return 0;
}
DEV-C++和Borland C++下测试通过
杭州一知智能科技有限公司
2022-03-17 广告
2022-03-17 广告
电话机器人主要就是用来模拟人工通话的一组程序,一般由,CRM系统,语义识别,转换文字,话术体系,这是软的部分,再加上底层软交换和通信模块一起,合并起来就是一套完整的电话机器人系统。电话机器人可以代替真人进行电话工作的,像是电话营销、售后回访...
点击进入详情页
本回答由杭州一知智能科技有限公司提供
展开全部
用队列的
char Sequeue[20];
char *Input;
int SequeueNumber = 0, i;
//输入数字
scanf("%s", Input);
//每个字符都入队
while(*Input != '\0')
{
Sequeue[SequeueNumber] = *Input;
SequeueNumber++;
}
//把Input指向输入文字末尾
Input--;
//出队并与输入字符比较
while(SequeueNumber >= 0)
{
if(Sequeue[0] != *Input)
return false;
//出队
for(i = 0; i < SequeueNumber; i++)
Sequeue[i] = Sequeue[i + 1];
SequeueNumber--;
Input--;
}
//经比较全都一样
return true;
char Sequeue[20];
char *Input;
int SequeueNumber = 0, i;
//输入数字
scanf("%s", Input);
//每个字符都入队
while(*Input != '\0')
{
Sequeue[SequeueNumber] = *Input;
SequeueNumber++;
}
//把Input指向输入文字末尾
Input--;
//出队并与输入字符比较
while(SequeueNumber >= 0)
{
if(Sequeue[0] != *Input)
return false;
//出队
for(i = 0; i < SequeueNumber; i++)
Sequeue[i] = Sequeue[i + 1];
SequeueNumber--;
Input--;
}
//经比较全都一样
return true;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用C++实现的:
#include<iostream>
using namespace std;
void main(){
char a[100];
cin.getline(a,100,'@');
int l=strlen(a);
for(int i=0;i<l/2;i++)
if(a[i]!=a[l-i-1])
break;
if(i==l/2) cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
#include<iostream>
using namespace std;
void main(){
char a[100];
cin.getline(a,100,'@');
int l=strlen(a);
for(int i=0;i<l/2;i++)
if(a[i]!=a[l-i-1])
break;
if(i==l/2) cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是类似判断@assa@是回文 而@asd@不是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询