| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3159 人关注过本帖
标题:做一个判断函数, 判断一个字符串正反读都一样
取消只看楼主 加入收藏
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
做一个判断函数, 判断一个字符串正反读都一样
做一个判断函数, 判断一个字符串正反读都一样, 则输出yes, 不然输出 no

如果用指针字符串来做, 思路是什么?
另外做多个字符串输入反过来后的值, 然后跟正输入的比较???

比较用 strcmp ?
搜索更多相关主题的帖子: 字符串 
2016-05-31 16:37
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
收藏
得分:0 
回复 2楼 grmmylbs
用循环 不就会产生两次比较, 到len 长度结束
for 还是 while ?

2016-05-31 16:50
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
收藏
得分:0 
回复 4楼 grmmylbs

偶数, 奇数怎么分, 取一半的话
2016-05-31 16:59
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
收藏
得分:0 
回复 6楼 grmmylbs

函数大概程序为

int panduan(char *p, int len)  //输入的字符串和长度
{
int i=0;
char *q;
q=p+len-1; // q指针指向最后的字符
while(i<len/2)
{
    if(*p+i != *q-i)  //首字符跟最后字符比较, 不同就返回1
    return -1;
    i++;
}
    return 1;     //相同返回1
}
2016-06-01 10:59
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
收藏
得分:0 
回复 6楼 grmmylbs
编译结果是错的 , 总是输入 -1;
判断程序 该怎么设置??
2016-06-01 11:03
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
收藏
得分:0 
回复 9楼 grmmylbs
也试了加括号.

但还是不对. 也看了地址, 就是对不上
2016-06-01 11:24
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
收藏
得分:0 
回复 12楼 grmmylbs

// VS 编译器。 程序要求是 字符串以"."为结束符号,正反读相同YES.不同 NO。

#include "stdafx.h"
#include "string.h"
#define size 20


int panduan(char *p, int len)
{
   
    int i = 0;
    char *q;
    q=p + len-1;
   
    while (i < len/2)
    {
        if (*(p + i) !=*( q - i))
        {
            printf("%d,%d\n",*(p+i), *(q-i));

            return -1;

        }i++;

    }
    return 1;
}

int main()
{
    char a[size] = "\0";
    int i = 0;
    int k;
    int len;
    printf("please input a enilish string:");
    do
    {
        scanf_s("%c", &a[i]);
        i++;
    } while (a[i-1] != '.');
   
    printf("the yingyu juzi is:");
    puts(a);

    len = strlen(a);
    k=panduan(a,len);
   
    if (k > 0)
        printf("yes,the same\n");
    else
        printf("no, it isn't\n");
    return 0;
}

编译结果是都是输出 -1
2016-06-01 18:25
yuantkong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:82
专家分:86
注 册:2016-5-17
收藏
得分:0 
回复 10楼 wmf2014

才看到.
另外的想法, 谢谢了!
2016-06-03 11:32
快速回复:做一个判断函数, 判断一个字符串正反读都一样
数据加载中...
 
   



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

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