标题:字符串回文问题。求进。。
只看楼主
wenwen1314
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2011-9-25
结帖率:92.86%
已结贴  问题点数:20 回复次数:5 
字符串回文问题。求进。。
//1、编写程序判断字符串是否回文。 abcddcba
void main()
{
    int temp;
    char *pr;
    char *pt;
    int count=0;
    char str[100];
    printf("Enter string:");
    gets(str);
    pr=str;
    pt=str+strlen(str)-1;
    temp=strlen(str);
    while(pr<pt)
    {
        if (*pr==*pt)
        {
            count++;
            pr++;
            pt--;
        }
    }
            if (temp/2==count)
            printf("yes");
        else
            printf("no");
}
    编完之后有点迷糊丶  为什么不相等的时候出现不了no ??  求解。
搜索更多相关主题的帖子: 编写程序 字符串 Enter count 
2011-11-24 21:21
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:5 
回复 楼主 wenwen1314
这块逻辑有问题
if (*pr==*pt)        
{            
    count++;
    pr++;            
    pt--;        
}
如果不相等,pr和pt不会变化,变成了死循环

总有那身价贱的人给作业贴回复完整的代码
2011-11-24 21:38
wenwen1314
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2011-9-25
得分:0 
回复 2楼 embed_xuel
那成死循环之后呢?   怎么改呢?
2011-11-24 21:53
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
得分:5 
就像2楼说的改,去掉大括号
程序代码:
while(pr<pt)
{
    if (*pr==*pt)
        count++;
    pr++;
    pt--;    
}
2011-11-24 21:58
wang155423
Rank: 6Rank: 6
等 级:侠之大者
帖 子:216
专家分:408
注 册:2011-9-4
得分:5 
while(pr<pt)
    {
        if (*pr==*pt)
        {
            count++;
        }
            pr++;
            pt--;
        
    }
2011-11-24 22:06
zy_space
Rank: 5Rank: 5
等 级:职业侠客
帖 子:163
专家分:364
注 册:2011-11-14
得分:5 
while (pr < pt)
   if (*pr++ == *pt++)
      count++;

--------------------------------------
也可以这么写~

何必等待?梦在今朝
2011-11-24 22:48



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




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

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