精华内容
下载资源
问答
  • #include #include int main() { char a[100]= {0}; int i = 0; int len = 0; printf("please input character string:\n");...//计算输入字符串的长度; for(i = 0; i //只需要判断
    #include <stdio.h>
    #include <string.h>

    int main()
    {
    char a[100]= {0};
    int i = 0;
    int len = 0;

    printf("please input character string:\n");
    gets(a);

    len = strlen(a); //计算输入字符串的长度;

    for(i = 0; i < (len / 2); i++) //只需要判断前一半(len/2)长度就好了
    {
    if(a[i] != a[len - 1 - i]) //判断是否为回文数;
    {
    printf("不是回文数\n");
    return 0;
    }
    }

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

    return 0;
    }
    展开全文
  • 编程判断字符串是否为回文

    千次阅读 2017-05-13 22:04:26
    判断一个字符串是否为回文,比如说单词“level”就是回文。我们可以从一个字符串的两端进行遍历比较,例如对于level我们可以进行下面的步骤。 (1)计算需要比较的次数。由于“level”字符串长度为5,是奇数,因此...

          判断一个字符串是否为回文,比如说单词“level”就是回文。我们可以从一个字符串的两端进行遍历比较,例如对于level我们可以进行下面的步骤。

    (1)计算需要比较的次数。由于“level”字符串长度为5,是奇数,因此比较两次

    (2)第一次比较:看“level”的第一个字符与最后一个字符是否相等,若相等,则进行第二次比较。

    (3)第二次比较:看“level”的第二个字符与倒数第二个字符是否相等,若相等则是回文

    如果在上面的比较过程中有一个不相等,则字符串不是回文。根据上面的思路,我们可以写出如下的程序代码:

    #include <iostream>
    using namespace std ;
    
    int IsRevStr(char *str )
    {
         int i,len ;
    	 int found = 1 ;    //1表示是回文 0则不是
    
    	 if(str == NULL)
    	 {
    		 return -1 ;
    	 }
    	 len = strlen(str) ;
    	 for(i = 0 ;i<len/2;i++)  //遍历中如果发现相应的头尾字符串不等,则字符串不是回文
    	 {
    		 if(*(str+1) != *(str+len-i-1))
    		 {
    			 found = 0 ;
    			 break ;
    		 }
    	 }
    	 return found ;
    }
    
    int main()
    {
    	char str1[10] = "1234321" ;
    	char str2[10] = "1234221" ;
    
    	int test1 = IsRevStr(str1) ;
    	int test2 = IsRevStr(str2) ;
    
    	cout<<"str1 is "<<(test1 == 1 ? "" : "not")<<"reverse string."<<endl ;
    
    	cout<<"str2 is "<<(test2 == 1 ? "" : "not")<<"reverse string."<<endl ;
    
    
    	return 0 ;
    } 
          这个程序中的IsRevStr()函数用于判断字符串是否为回文字符串,如果是则返回1,否则返回0.输出结果:

      1 str1 is reverse string.

      2 str2 is not reverse string.

    展开全文
  • 回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B...

    “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。
    例如:
    A = “aba”,B = “b”。这里有4种把B插入A的办法:

    • 在A的第一个字母之前: “baba” 不是回文
    • 在第一个字母‘a’之后: “abba” 是回文
    • 在字母‘b’之后: “abba” 是回文
    • 在第二个字母’a’之后 “abab” 不是回文
      所以满足条件的答案为2

    输入描述:
    每组输入数据共两行。
    第一行为字符串A
    第二行为字符串B
    字符串长度均小于100且只包含小写字母

    输出描述:
    输出一个数字,表示把字符串B插入字符串A之后构成一个回文串的方法数

    **理解:**本题将字符串B插入A是将B整体插入,放在某个位置上,算法采用的思想是先将B插入A的不同位置,然后再用回文检测算法 检验字符串是否是回文,A 和 B都是放在数组中的,开辟一个新的数组空间(线性空间),满足新的空间能放下A和B数组,当数据比较大的时候,这种方法需要开辟较大的线性空间,实用价值不高,可以用来解决算法题,其他的解题思路

    示例1
    输入;
    aba
    b
    输出:
    2

    #include <stdio.h>
    /*int strlen(char s[])
    {
        int LA=0;
        int m=0;
        while(s[m]!='\0')
        {
            LA++;
            m++;
        }
        return LA;
    }*/
    int Huiwen(char s[])
    {
        int l = strlen(s);
        int i;
        for( i=0;i<l/2;i++)
        {
            if(s[i]==s[l-i-1]);   //从两端像中间开始检测
                else
                    break;
        }
        if(i==l/2)  
            return 1;    //能跑到中间说明是回文串
        else 
            return 0;
    }
    int main()
    {
        char A[100],B[100];
        char C[200] = {'\0'};
        int sum = 0;
        gets(A);
        gets(B);
        int LenA = strlen(A);
        int LenB = strlen(B);
        for(int i=0;i<=LenA;i++)
        {
             for(int j=0;j<i;j++)
            {
                C[j]=A[j];//继续把A的字符i之前的字符串接入在B的前面
            }  
            for(int k=i,v=0;v<LenB;k++,v++)
            {
                C[k]=B[v];//把B字符串插入A的i位置
            }
           
            for(int k=LenA+LenB-1;k>i+LenB-1;k--)
            {
                C[k] = A[k-LenB]; //把A中i后的字符串接到B的后面,从最后一个往前接
            }
            sum+=Huiwen(C);
        }
        printf("%d\n",sum);
        return 0;
    }
    
    
    
    
    
    展开全文
  • 判断一个字符串是否为回文

    千次阅读 2014-11-18 11:37:51
    回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的。比如level 、“aaabbaaa” 判断字符串是否为回文有几咱方式: tx

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

    int isHW(const char *str){

    int len = strlen(str);

    for(int i=0;i<=len/2;i++){

       if(str[i]!=str[len-i-1]){

    return -1;

    }

    }

      return 1;

    }

    int main(){

    char s[100];

    gets(s);

    int result = isHW(s);

    if(result == 1)

         {

    printf("字符串是回文");

    }

    else

    {

    printf("字符串不是回文"); }

    }

    或者也可用递归方法判断

    #include <iostream>
    using namespace std;
    int fun(int low, int high, char *str, int length)
    {
    if (length == 0 || length == 1)
    return    1;
    if (str[low] != str[high])
    return    0;
    return fun(low+1, high-1, str, length-2);
    }
    int main()
    {
    char    str[]="aaabdaaa";
    int     length = strlen(str);
    //返回1代表是, 0代表不是
    cout << fun(0, length-1, str, length) << endl;
    return    0;
    }

    ps:字符串翻转也可用同样的方式,不是比较字符是否一样,而是直接交换字符。

    转载自:http://www.blogjava.net/zongbao/archive/2012/08/08/385095.html和http://blog.csdn.net/cbs612537/article/details/8217425

    展开全文
  • 一、判断字符串是否回文 例如单词"level"就是回文 编码实现 我们可以从一个字符串的两端进行遍历比较。例如对于"level"字符串: 1.计算需要比较的次数。由于"level"长度5,是奇数,因此比较两次 2.第一次...
  • 即是对称结构判断回文字符串方法一:方法二:判断回文链表思路我们需要找到链表中点(快慢指针法)将链表后半段倒置逆序排序将前半段和后半段遍历比较,判断是否为回文链表,偶数情况,使用偶数定位中点策略,要确定是...
  • 判断一个字符串是否为回文字符串(charAt与toCharArray() 两种方法) 转载请标注谢谢 定义 首先咱们要知道什么是回文字符串,“回文字符串”是一个正读和反读都一样的字符串。 比如“level”或者“noon”等就是回文...
  • 23.请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是...
  • 例题:请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL,而字符串123312就不是回文。...
  • 所谓回文字符串,就是一个字符串,从左到右读...题目:判断一个字符串是否为回文 解法:两端扫描 #include #include int huiwen( int high, int low , char * a) //从两边扫描, num是一个中点位置 { assert(a);
  • C语言判断输入字符是否为回文串

    千次阅读 2019-02-20 15:25:30
    判断输入字符串(maxsize=255)是否是回文串(level,noon即为回文串),是则输出YES,不是输出NO #include &lt;stdio.h&gt; #include &lt;string.h&gt; #define max 256 int main() { char a[max]...
  • 判断回文字符串方法一:​方法二:​判断回文链表思路我们需要找到链表中点(快慢指针法)将链表后半段倒置逆序排序将前半段和后半段遍历比较,判断是否为回文链表,偶数情况,使用偶数定位中点策...
  • 比如”level” 、 “aaabbaaa”题目:判断一个字符串是否为回文 解法:递归、循环 循环的方法根据传参的不同,分为两种,如下: 循环一 bool IsPalindereme(char* str,size_t size) { if(str==NULL || size == 0)...
  • 回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。 输入格式: 一行字符串。 输出格式: 如果是回文串,输出“YES”,否则输出“NO”。 输入样例: 12321 输出样例: ...
  • 即是对称结构判断回文字符串方法一:方法二:判断回文链表思路我们需要找到链表中点(快慢指针法)将链表后半段倒置逆序排序将前半段和后半段遍历比较,判断是否为回文链表,偶数情况,使用偶数定位中点策略,要确定是...
  • 所谓回文字符串,就是正读和反读都一样的字符串,... 将前半段和后半段遍历比较,判断是否为回文链表,偶数情况,使用偶数定位中点策略,要确定是返回上中位数或下中位数 注意事项: 快慢指针定位中点时要区分奇偶..
  • 比如”level” 、 “aaabbaaa”题目:判断一个字符串是否为回文解法:递归递归的作用在于把问题的规模不断缩少,直到问题缩少到能简单地解决问:如何缩少问题规模?答:通过观察可以知道,一个回文字符串其中内部也...
  • 判断回文字符串

    2016-09-12 18:12:25
    题目:判断一个字符串是否为回文 解法:递归 递归的作用在于把问题的规模不断缩少,直到问题缩少到能简单地解决 问:如何缩少问题规模? 答:通过观察可以知道,一个回文字符串其中内部
  • 编程判断输入的一串字符是否为回文”。所谓“回文”,是指顺读和倒读都一样的字符串。如"level"、“ABCCBA”都是回文 解题思路: 定义两个指针p,q,p指针指向第一个字符,q指向最后一个字符,p<=q时,依次比较...
  • 7-1 判断回文字符串

    千次阅读 2020-11-26 23:22:09
    输入一个字符串,判断字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 输出在第1...
  • 回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。 输入 一行字符串,长度不超过255。 输出 如果是回文串,输出“YES”,否则输出“NO”。 样例输入 12321 样例输出 ...
  • C语言-判断回文字符串(二)

    万次阅读 多人点赞 2018-12-15 23:42:01
    输入一个字符串,判断字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 输出在...
  • Description:输入一个字符串,判断字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 Input:输入仅一行,输入一个不超过80个字符长度的、以回车结束的非空字符串。 Output:第...
  • 回文字符串

    千次阅读 2020-02-15 17:08:05
    回文字符串 如果一个字符串从左往右...输入一个字符串判断是否为回文字符串。如果是回文字符串,输出yes;如果不是回文字符串,输出no。 s=input() s1=list(s) s1.reverse() s2=list(s) if s1==s2: print("yes...
  • 用递归判断回文字符串

    千次阅读 2013-09-18 06:35:05
    题目:判断一个字符串是否为回文 解法:递归 递归的作用在于把问题的规模不断缩少,直到问题缩少到能简单地解决 问:如何缩少问题规模? 答:通过观察可以知道,一个回文字符串其中内部也是回文。所以,我们只...
  • 输入一个字符串,判断字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 输出在第1...
  • 输入一个字符串,判断字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 输出在第1...
  • 题目:判断一个字符串是否为回文 解法:递归 递归的作用在于把问题的规模不断缩少,直到问题缩少到能简单地解决 问:如何缩少问题规模? 答:通过观察可以知道,一个回文字符串其中内部也是回文。所以,...

空空如也

空空如也

1 2 3 4 5
收藏数 92
精华内容 36
关键字:

判断字符串是否为回文level