| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 934 人关注过本帖
标题:庆祝一下,第二次就成功,以为要求助,结果自己做成功了,呵呵
取消只看楼主 加入收藏
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
结帖率:84.38%
收藏
已结贴  问题点数:20 回复次数:8 
庆祝一下,第二次就成功,以为要求助,结果自己做成功了,呵呵
编写函数int palindrome(char *string),如果字符串string是回文,返回1,否则为0,回文是指顺读,逆读都一样的字符串,如12321,abba等
分就给自己了,贴出来庆祝一下,呵呵

 #include"stdio.h"
#include"string.h"
    int palindrome(char *string){
     int *str,len,i,j;
     len=strlen(string);
     for(i=0;i<len;i++)
       for(j=len;j>0;j--)
         if(*(string+i)==*(string+j-1))
        {
            
          return 1;      }
         else return 0;
     
 }
 int main(){
     char string[100],a;
     printf("imput string:\n");
     gets(string);
     a=palindrome(string);
     printf("%d",a);
 }
根据楼下一位童鞋的友情提示,改进了一个小bug,由于昨晚就封帖了,所以没分送了,不过经常关注我的帖子,我是不吝散分的,呵呵
   for(i=0,j=len;i<len;i++,j--)
      
         if(*(string+i)==*(string+j-1)&&(i>=len/2))
        {
            
          return 1;      }
         else return 0;
     
}


[ 本帖最后由 a271885843 于 2012-1-8 21:40 编辑 ]
搜索更多相关主题的帖子: include return 字符串 
2012-01-07 23:35
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
没人鼓励下我么???我太需要点鼓励了

认为事物非黑即白是缺智慧的表现……
2012-01-07 23:40
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
回复 3楼 TonyDeng
呵呵。要的

认为事物非黑即白是缺智慧的表现……
2012-01-07 23:45
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
呵呵。

认为事物非黑即白是缺智慧的表现……
2012-01-07 23:56
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-7 23:59:13的发言:

看你听话给分的份上,给你两个忠告:
1.看看你上一个问题我最后给你的回复;
2.你现在这个程序,本质上与数组无异,*(p+i)其实就是s,因此,两个程序的本质问题是你在不需要用指针的地方用指针的自找麻烦,是完全没必要的举动。
嗯。谢谢指导。,我按你的方法,换个数组搞一下

认为事物非黑即白是缺智慧的表现……
2012-01-08 00:02
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-8 00:06:09的发言:

换句话说,尽管“爸爸的爸爸”确实是“爷爷”,但明明在能够叫“爷爷”的场合不叫,偏要叫“爸爸的爸爸”,不见得高明。间接的称呼必然要让读者和听者停下来思考你到底是指什么,是不是有什么难言之隐迫使你这样晦涩。写文章都知道这是大忌。原则上虽然这样不算错,但终究与孔乙己卖弄“茴”字有四个写法无异,会写大家都认识的东西就行,刻意标新立异对人对己都没有好处。
嗯。受教了。我最初的想法只是想强化一下基础的东西。

认为事物非黑即白是缺智慧的表现……
2012-01-08 00:18
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-8 00:35:37的发言:

具体说个例子吧,你那个程序中
int *x=&a,*y=&b,*z=&c;
这种写法,语法没错,但隐藏了很大的欺骗性,连自己也被骗了。

int *x=&a;密集处在右边,*x和&a被用=连接起来,读者包括你自己,都被误导为=号两边是同一种数据类型int,事实上这个理解是错的。这个声明时就赋值的写法,应该写成
int* x=&a;
这样,x才真正是地址指针。如果你习惯int *x;这样的声明,那么不要在这里同时赋值,分开来:
int *x;
x=&a;
这样就很清晰了。那么,到下面的scanf(),也不容易搞错。scanf()的通用格式是scanf("%d", &a);符号替换,很明显地是scanf("%d", x);用我这里推荐的两种写法,都不会犯错。

你那种三个指针连在一起声明的格式,是不推荐的,那强化了上述第一种错误理解。把它们分开三行,对程序的编译效果没有丝毫影响,但严重影响你和读者对代码的理解,那才是要命的。这些习惯不弄好,以后的程序会反复犯同类的错误,甚至连原因在哪里都没有意识到。

学程序,应该在这些方面下功夫。
嗯。感谢你讲这么多,可能自己比较小懒吧,当然自己在这方面的欠缺是比较多的,另外,这些东西确实是视频教程里没有的了,以后写的时候,注意就行了。

认为事物非黑即白是缺智慧的表现……
2012-01-08 19:55
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用smallmoon521在2012-1-8 20:15:56的发言:

LZ,你的程序不对吧.
第一个循环判断就是头尾,一样就跳出了,返回1
里面的没机会判断~  如1456adbc1 返回是1

PS:不用两个for循环的.一个就可以,折半.
for(...)
{
   if(array==array[len-i-1])
     ...
}
这样就可以了

不过LZ遇到问题,自己想办法解决,而不是不思考就提问,是值得提倡的

如果能给补点分,就更值得提倡了
嗯,谢谢楼上提示这个小bug,我改进了一下程序,在让i的值至少大于字符串长度一半以上就行了,或j的值小于字符串长度一半以上就行了,还有就是这题昨天晚上就封贴了,呵呵,不过你放心,以后多多关注我的帖子,分是大大的有

 #include"stdio.h"
#include"string.h"
    int palindrome(char *string){
     int *str,len,i,j;
     len=strlen(string);
     for(i=0,j=len;i<len;i++,j--)
      
         if(*(string+i)==*(string+j-1)&&(i>=len/2))
        {
            
          return 1;      }
         else return 0;
     
 }
 int main(){
     char string[100],a;
     printf("imput string:\n");
     gets(string);
     a=palindrome(string);
     printf("%d",a);
 }

[ 本帖最后由 a271885843 于 2012-1-8 21:35 编辑 ]

认为事物非黑即白是缺智慧的表现……
2012-01-08 21:32
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用smallmoon521在2012-1-8 22:59:55的发言:

i+j=len
要j何用?
我明白你的意思,if(*(string+i)==*(string+len-i-1)&&(i>=len/2))就可以了。没改主要是方便理解。

认为事物非黑即白是缺智慧的表现……
2012-01-08 23:10
快速回复:庆祝一下,第二次就成功,以为要求助,结果自己做成功了,呵呵
数据加载中...
 
   



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

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