标题:[求助]又来一道有关指针的问题了.......麻烦大家了~
只看楼主
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
 问题点数:0 回复次数:14 
[求助]又来一道有关指针的问题了.......麻烦大家了~
编程读入一个字符串,并栓查是否为回文~~~~~
要求用指针~~~~有劳大家了~
如果是,则输出YES
不是,则输出NO

[此贴子已经被作者于2007-5-30 22:00:57编辑过]

搜索更多相关主题的帖子: 指针 麻烦 回文 YES 
2007-05-30 17:14
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
得分:0 
以前好像做过这样的题目。。。
回文是就121,11211,aaabbaaa这样的对称的数或者字符串吧???

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-30 17:47
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
得分:0 

是啊,~


老师领进门,成长靠自己+虚心
2007-05-30 17:55
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
得分:0 
.......难道问的时间不对,大家都在工作?

老师领进门,成长靠自己+虚心
2007-05-30 21:16
adema
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-15
得分:0 
int circle(int n, int d)
{
int i = 0,j = n;
while(j)
{
i = i*d +j%d;
j /= d;
}
return i == n;
}
这个是判断数字回文,D是进制.

int circle(char *s)
{
char *m,*n;
for(m = s, n = s+strlen(s)-1; n > m; m++,n--)
if(*m != *n)
break;
return n<=m;
}
字符串的回文判断
2007-05-30 21:36
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 
main()
{char a[20];
char *q,*p;
printf("input the string:");
gets(a);
p=a;
q=a+strlen(a)-1;
while(p!=q&&q-p!=1&&*p++==*q--);
if(p==q||q-p==1)printf("hui wen\n");
else printf("bu shi huiwen\n");
getch();
}

这个社会太复杂。。。
2007-05-30 21:51
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
得分:0 

int circle(char *s)
{
char *m,*n;
for(m = s, n = s+strlen(s)-1; n > m; m++,n--)
if(*m != *n)
break;
return n<=m;
}

自己将程序补充完了,可发现错误很多,
麻烦将程序完整写出来好吗??


老师领进门,成长靠自己+虚心
2007-05-30 21:58
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
得分:0 


main()
{char a[20];
char *q,*p;
printf("input the string:");
gets(a);
p=a;
q=a+strlen(a)-1;
while(p!=q&&q-p!=1&&*p++==*q--);
if(p==q||q-p==1)printf("hui wen\n");
else printf("bu shi huiwen\n");
getch();
}

运行成功!!!!!
向各位无私奉献自己知识的高手敬礼~~~~~


老师领进门,成长靠自己+虚心
2007-05-30 22:05
adema
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-15
得分:0 
以下是引用crz03128在2007-5-30 21:58:27的发言:

int circle(char *s)
{
char *m,*n;
for(m = s, n = s+strlen(s)-1; n > m; m++,n--)
if(*m != *n)
break;
return n<=m;
}

自己将程序补充完了,可发现错误很多,
麻烦将程序完整写出来好吗??

main()
{
char s[MAX];
clrscr();
while(1)
{
scanf("%s",s);
if(circle(s))
printf("YES,it is hui wen\n");
else
printf("NO\n");
if(s[0]=='随便啥了')break;跳出用
}
}

我没试 应该行 哈哈哈

2007-05-30 22:16
ironcrow
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-5-15
得分:0 
while(p!=q&&q-p!=1&&*p++==*q--);

这段代码对小弟来说有点昏厥……

天生我材必有用!
2007-05-31 08:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-143584-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.167510 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved