永发信息网

求助大侠解决c++

答案:3  悬赏:30  手机版
解决时间 2021-05-14 14:37
设计一个算法判断顺序存放的字符串是否为回文(即正读和倒读相同)
最佳答案

程序代码如下:


#include <stdio.h>
#include <stdlib.h>
#define N 100
int stringlength(char *s)
{
int i;
for(i=0;s[i]!='\0';i++);
return i;
}
int ishuiwen(char *s)
{
int i=0;
int j;
int length=stringlength(s);
j=length-1;
while(s[i]==s[j]&&i<length/2)
{
i++,j--;
}
if(i==(length/2))return 1;
else return -1;


}
void main()
{
char string[N];//leel
printf("Please input string:\n");
gets(string);
int result=ishuiwen(string);
if(result==1)printf("%s is huiwen!\n",string);
if(result==-1)printf("%s is not huiwen!\n",string);


printf("Please input string:\n");
gets(string);
}



程序运行结果:


全部回答
我提供一个思路,构造另外一个字符串,按照逆序从这个字符串中挨个取出字符顺序填入那个字符串,然后用一下字符串比较函数就可以了
#include <stdio.h>      int charf(char d[],int k, int i)   {   if(d[k]==d[i-k]&&k==0)   return(1);   else if(d[k]==d[i-k])   charf(d,k-1,i);   else   return(0);   }   main()   {   int i=0,n=0;   char a,b[20];   while ((a=getchar())!=’\n’)   {   b[i]=a;   i++;   }   if(i%2==0)   n=charf(b,(i/2),i-1);   else   n=charf(b,(i/2-1),i-1);   if(n==0)   printf("不是回文");   else   printf("是回文");   getch();   }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
魔兽世界SM号名字被和谐 要求我修改 谁给我起
柠檬和什么榨汁,新鲜柠檬可不可以榨汁保存? 1
岳麓区天能超威电池这个地址在什么地方,我要
赞美秋天的诗句有哪些
天门市雪莲女子减肥(天门店)在哪里啊,我有事
成都跳伞塔到永丰路多远
银行卡丢了怎么办啊。急急急~~~!!!
召唤师怎么加技能点
有人知道关于紫檀的诗词么?越易记,越高雅的越
从北京丰台区 镇国寺北街到 乐天玛特超市【洋
汝阳县汝阳同城服务在哪里啊,我有事要去这里
一专录取通知书什么时候到?
如何让自己的情绪冷静
马来西亚的国语是什么,马来西亚有油棕棕床垫
生活中健康怎么维护?
推荐资讯
怎样删除QQ好友才能不能到我农场里偷菜
n87知道么?
金蝶专业版怎么用?
麻城市木子店老米酒(麻城市老龄委办公室东南)
关于傲雪寒梅的诗词,关于寒梅有哪些诗词?
市场营销这专业好就业吗?有钱途吗?
......睡
麦迪明天上吗
台前县明珠宾馆 服务 0
谁给我申请一个QQ号码
祁阳县欧汉医美容美体SPA会所在什么地方啊,
梦幻西游DT骨灰过来。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?