精华内容
下载资源
问答
  • 回文字符串C语言判断函数

    千次阅读 2016-11-24 09:21:16
    C语言判断字符串是否为回文

    C语言判断字符串是否为回文

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    /* if str is palindrome return 0,or return 1*/
    int ispalindrome(const char *str,int length)
    {
        int i = 0;
    
        if(str[0] == '\0')
            return 1;
    
        for(i = 0; i < length/2; i++)
        {
            if(str[i] != str[length-i-1])
                break;
        }
    
        if(i == length/2)
        {
            return 0;
        }
        else
        {
            return 1;
        }
    }
    
    int main(int argc, char *argv[])
    {
        int ret = 0;
        if(argc != 2)
        {
            printf("the argument is not right\n");
            exit(1);
        }
    
        ret = ispalindrome(argv[1], strlen(argv[1]));
    
        if(0 == ret)
        {
            printf("%s is palindrome\n",argv[1]);
        }
        else
        {
            printf("%s is not palindrome\n",argv[1]);
        }
    
        return 0;
    
    }

    运行
    gcc test_palindrome.c

    ./a.out afdfa
    afdfa is palindrome

    ./a.out abd
    abd is not palindrome

    展开全文
  • 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"level" 、 “aba”。 超级简单 上代码 #include<stdio.h> #include<string.h> #define NUM 100 int main(){ char str[NUM]...

    C语言实现判断字符串是否是回文

    描述

    所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"level" 、 “aba”。

    超级简单

    上代码

    #include<stdio.h>
    #include<string.h>
    #define NUM 100
    int main(){
        char str[NUM];
        int flag=0;
        scanf("%s",str);
        int len=strlen(str);
        for(int i=0;i<len/2;i++){
            if(str[i]==str[len-i-1])
            flag=1;
            else{
                flag=0;
                break;
            }
        }
        if(flag)
            printf("该字符串是回文字符串!");
                  
        else
             printf("该字符串不是回文字符串!");    
                        
    }
    
    展开全文
  • 习题8-8 判断回文字符串C语言实现) #include <stdio.h> #include <string.h> #define MAXN 20 typedef enum {false, true} bool; bool palindrome( char *s ); int main() { char s[MAXN]; ...

    习题8-8 判断回文字符串 (C语言实现)

    #include <stdio.h>
    #include <string.h>
    
    #define MAXN 20
    typedef enum {false, true} bool;
    
    bool palindrome( char *s );
    
    int main()
    {
        char s[MAXN];
    
        scanf("%s", s);
        if ( palindrome(s)==true )
            printf("Yes\n");
        else
            printf("No\n");
        printf("%s\n", s);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    bool palindrome( char *s )
    {
    	int l=0,r=strlen(s)-1;
    	while(l<r)
    	{
    		if(s[l] != s[r])
    			return false;
    		l++;
    		r--;
    	}
    	return true;
    }
    
    展开全文
  • 详解判断回文字符串和回文数算法的C语言代码!一、判断一个字符串是否为回文字符串#include #include #include //包含strlen#define YES 1#define NO 0#define uchar unsigned char#define uint unsigned int#define...

    详解判断回文字符串和回文数算法的C语言代码!

    一、判断一个字符串是否为回文字符串

    #include

    #include

    #include //包含strlen

    #define YES 1

    #define NO  0

    #define uchar unsigned char

    #define uint unsigned int

    #define ushort unsigned short

    #define ulong unsigned long

    #define u8  uchar

    #define u16 ushort

    #define u32 ulong

    u8 IsPalindromeString(u8 *pStr);

    int main(void)

    {

    u8 array[] = "abcdefgfedcba";

    u8 value = 0;

    value = IsPalindromeString(array);

    if (value)

    {

    printf("是回文字符串!\n");

    }

    else

    {

    printf("不是回文字符串!\n");

    }

    return 0;

    }

    //思路:

    //(1)用两个指针分别指向字符串的头和尾

    //(2)比较两指针指向的字符是否相同

    //(3)若相同则头指针向后移动,尾指针向前移动

    //(4)若不同则返回NO,说明不是回文字符串

    //(5)重复2.3.4

    //(6)若头尾指针指向位置相邻或相同则返回YES,说明是回文字符串

    u8 IsPalindromeString(u8 *pStr)

    {

    u8 num = strlen((const char *)pStr);

    u8 *pHead = pStr;//指向字符串的头

    u8 *pTail = pStr+num-1;

    for (; pHead<=pTail; pHead++, pTail--)

    {

    if (*pHead != *pTail)

    {

    return NO;

    }

    else if (pHead == pTail || pHead+1 == pTail)

    {

    return YES;

    }

    }

    }

    二、判断一个数是否为回文数

    #include

    #include

    #include //包含strlen

    #define YES 1

    #define NO  0

    #define uchar unsigned char

    #define uint unsigned int

    #define ushort unsigned short

    #define ulong unsigned long

    #define u8  uchar

    #define u16 ushort

    #define u32 ulong

    u8 IsPalindromeNumber(u32 num);

    int main(void)

    {

    u32 num = 1221;

    u8 value = 0;

    value = IsPalindromeNumber(num);

    if (value)

    {

    printf("是回文数!\n");

    }

    else

    {

    printf("不是回文数!\n");

    }

    return 0;

    }

    /*

    分析:因为回文数从高位向低位看的数值和从低位向高位看的数值是相等的。

    所以:可以将数值从低位到高位进行拆分,然后再重新组合,通过判断新组合

    的数值是否和原数值相等即可判断是否为回文数!

    */

    u8 IsPalindromeNumber(u32 num)

    {

    u32 temp = num;

    u32 sum = 0;

    while (num)

    {

    sum = sum*10 + num%10;//将num从低位到高位依次取出然后再重新组合成一个整数

    num /= 10;//将num去掉个位数

    }

    if(sum == temp)

    {

    return YES;

    }

    else

    {

    return NO;

    }

    }

    展开全文
  • 判断是否能成为回文字符串。示例1:输入: "aba" 输出: True示例2:输入: "abca" 输出: True 解释: 你可以删除c字符。注意:字符串只包含从 a-z的小写字母。字符串的最大长度是50000。题解:本题和125. 验证回文串很像...
  • 判断是否能成为回文字符串。示例 1:输入: "aba" 输出: True示例 2:输入: "abca" 输出: True 解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。方法:双指针思路:验证回文字符...
  • 最先想到的是,把字符串反转,然后和原字符串比较。那么顺势总结一下字符串反转的方法。有的小伙伴可能会想到reverse()方法。但要注意,reverse()是列表才有的方法,用于字符串会报错。当然,把字符串转换成列表就...
  • C语言判断回文字符串代码
  • 一、判断一个字符串是否为回文字符串#include #include #include //包含strlen#define YES 1#define NO 0#define uchar unsigned char#define uint unsigned int#define ushort unsigned short#define ulong ...
  • 给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。示例1:输入: "babad"输出: "bab"注意: "aba"也是一-个有效答案。示例2:输入: "cbbd"输出: "bb" 这是一道非常经典的动态规划的题目,我是在...
  • C语言判断回文字符串

    2021-05-10 09:44:51
    C语言判断回文字符串 我的思路: 回文:首尾回环 首和尾对比,两者向中间靠近,完全相同则回文,有一处不相同则不是回文 #include<stdio.h> void str_back(char *str); int main() { char str[100] = {0}...
  • 所谓回文字符串,是指从左到右读和从右到左读完全相同的字符串。主要涉及知识点:字符数组的输入输出,及相应的处理。这个问题,可以从字符串的两头开始比较,即第1个字符和倒数第1个字符比较,第2个字符和倒数第2个...
  • 程序分析:回文字符串回文字符串是指一个字符中的最高位与最低位的字符是一样的,次高位和次低位上的字符是一样的问题描述:判断一个字符串是否是回文字符串。程序分析:回文字符串回文字符串是指一个字符中的...
  • C语言判断回文字符串(指针)

    千次阅读 多人点赞 2020-11-22 23:18:22
    功能是判断一个字符串是否是回文字符串(提示:回文字符串是指正读和反读都一样的字符串),要求从主函数中由键盘输入字符串,调用函数fun后,根据函数fun的返回值,主函数输出是否为回文字符串判断。 输入样例:...
  • C语言-判断回文字符串(二)

    万次阅读 多人点赞 2018-12-15 23:42:01
    7-2 判断回文字符串 (15 分) 输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束...
  • C语言函数——判断回文字符串

    千次阅读 2019-04-29 17:55:54
    1-2 判断回文字符串 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: >bool palindrome( char *s );...
  • } /** * @description: 字符串合并 * @param {p1} 字符串1 * @param {p2} 字符串2 * @return {*} 合并后的字符串指针p1 * @attention 会创建一个新的字符串返回 */static char* add(char* p1, char* p2){char* ptr =...
  • 一种是字符串(当然也可以叫数组法),此方法可以用来判断字符串输入以及INT类型的输入 另一种是数字输入,因为追求简便性所以此方法只能判断回文数,不能判断回文字符串。要想都判断也很简单,将变量类型调整即可...
  • 1 问题描述给定一个字符串,如何判断这个字符串是否是回文串?所谓回文串,是指正读和反读都一样的字符串,如madam、我爱我等。2 解决方案解决上述问题,有两种方法可供参考:(1)从字符串两头往中间扫;(2)从...
  • 本文详细讲解判断回文数和回文字符串的算法原理,并给出了完整的标准C语言代码,且提供标准函数接口,可供大家直接调用!
  • 判断回文字符串 输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出...
  • 函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXN 20 typedef enum {fa
  • c语言判断回文字符串

    千次阅读 2015-04-22 16:50:51
    判断回文字符串: 如: abcba abcdefedcba #include #include int panduan(char *s) { int n=strlen(s); int i=0; for(;i;i++) { if(*(s+i)!=*(s+n-i-1)) { printf("不是回文字符串\n"); got
  • 本题来源于浙大PTA题库 这是一道简单的字符串...函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。 裁判测试程序样例: #include <stdio.h> #include <string.h> #defin
  • C语言-判断回文字符串【函数+指针】(一)

    万次阅读 多人点赞 2018-12-15 23:15:53
    6-1判断回文字符串(20 分) 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s )...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 388
精华内容 155
关键字:

判断回文字符串c语言

c语言 订阅