49.输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL)

(1)

#include<iostream>
using namespace std;

int main()
{
    int k=0;
    int j;
    char b[20];

    cout<<"please input an number: "<<endl;
    cin>>b;

    for(j=0;j<20&&b[j]!=‘\0‘ ;j++); //字符串有一个结束符,判断它可知是否结束
    {
        k=j;
    }
    for(int m=0;m<k;m++)
    {
        if(b[m]!=b[k-m-1])
        {
            cout<<"这不是回文数!"<<endl;
            return -1;//跳出循环
        } //不能判断一个就确定是回文
    }

    //检查完毕,是回文才会到这里
    cout<<"这是回文数!"<<endl;

    return 0;
}

(2)

#include<iostream>
#include<string.h>//这个头文件可以使用strlen函数
using namespace std;

int main()
{
    int k=0;
    int m,n;
    char b[20];

    cout<<"please input an number: "<<endl;
    cin>>b;

    for (m=0,n=strlen(b) - 1; (m!=n) && (m+1!=n); m++, n--)
    {
        if (b[m] != b[n])
        {
            cout<<"这不是回文数!"<<endl;
            return -1;//跳出循环
        }//不能判断一个就确定是回文
    }

    //检查完毕,是回文才会到这里
    cout<<"这是回文数!"<<endl;
    return 0;
}

(3)运用指针

#include<iostream>
#include<string.h>//这个头文件可以使用strlen函数
using namespace std;
int HuiWen(char*);

int main()
{
    int k=0;
    int m,n;
    char b[20];

    cout<<"please input an number: "<<endl;
    cin>>b;

    if(HuiWen(b))
    {
        cout<<"这是回文数";
    }else
    {
        cout<<"这不是回文数";
    }

    return 0;
}

int HuiWen(char* s)
{
    if(NULL == s)
    {
        return 0;
    }
    char *head=s;//指向第一个字符
    char *tail=s+strlen(s)-1;//指向最后一个字符

    while(true)
    {
        if(head >= tail)return 1;
        if(*head == *tail)
        {
            head++;
            tail--;
        }
        else
        {
            return 0;
        }
    }
}

49.输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL)

时间: 2024-08-29 13:23:30

49.输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL)的相关文章

判断输入的字符串是否是回文数

<?phpfunction yuanyincount($str){ $str_len=strlen($str); $a_count=0; $e_count=0; $i_count=0; $o_count=0; $u_count=0; $other_count=0; //五种原因字母的数组,没写输出 $a_arr=array(); $e_arr=array(); $i_arr=array(); $o_arr=array(); $u_arr=array(); $other_arr=array();

java采用3种方式判断用户输入的字符串是否为回文

一.描述 回文的定义:"回文数" 就是正读倒读都一样的整数.如奇数个数字:98789, 这个数字正读是98789,倒读也是98789:偶数个数字3223也是回文数. 我们今天将回文数扩展为字母和数字组合回文,如adgu6776ugda也是回文,我们采用三种方式判断这种类型的字符串是否为回文: 1.调用StringBuffer类对象的reverse()方法,将字符串翻转后与之前的字符串比较,如果相等则为回文,反之亦然: 2.采用low和high两个变量分别对应字符串对称位置的index,

10、使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。

/**10.使用TCP协议完成一个客户端一个服务器.客户端从键盘输入读取一个字符串,发送到服务器. 服务器接收客户端发送的字符串,反转之后发回客户端.客户端接收并打印. * 客户端*/ import java.io.*; import java.net.*; public class Test10_Client { public static void main(String[] args) throws Exception { Socket s = new Socket("192.168.0.

求字符串中的最长回文子串

题目:给定一个字符串S,求其中的最长的回文子串! 思路:采用动态规划的思想 /** * author :wxg */ #include<iostream> #include<string> using namespace std; /*** 动态规划的思想:字符串 S,以及 f(i,j)表示子字符串 S[i,j] 是否为回文,如果是,f(i,j)=true,否则为 false: ----- true ,i == j f (i, j) = ---- S[i] = S[j] ,j ==

检查链表是否为回文

编写一个函数,检查链表是否为回文. #include<iostream> #include<stack> using namespace std; typedef struct node { int data; struct node* next; }* LinkedListNode; bool isPalindrome(LinkedListNode head) { LinkedListNode fast = head; LinkedListNode slow = head; st

求一个字符串中的最长回文串(Java)

package huiwenchuan; import java.util.Scanner; public class Main { //判断一个字符串是否为回文串 public static boolean isHuiWen(String s) { int len=s.length(); for(int i=0;i<len/2;i++) { if(!(s.charAt(i)==s.charAt(len-i-1))) { return false; } } return true; } /**

在EditText中怎么去检查输入的字符串的长度?

听说用textwatch可以监听到edittext中输入的字符串的长度, 但是我不太会用希望高人指点一下    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                mtv =(TextView) findViewById(R.id.tv);        me

(华为)按照指定规则对输入的字符串进行处理

问题详细描述:将输入的两个字符串合并. 对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序.这里的下标意思是字符在字符串中的位置. 对排训后的字符串进行操作,如果字符为'0'--'9'或者'A'--'F'或者'a'--'f',则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符.如字符为'4',为0100b,则翻转后为0010b,也就是2.转换后的字符为'2': 如字符为'7',为0111b,则翻转后为1110b,也就是e.转换后的字符为大写

输入一个字符串,输出该字符串中对称的子字符串的最大长度。

public class LongestSymmtricalLength2 { /* * Q75题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度. * 比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4. */ public static void main(String[] args) { String[] strs = { "a","google", "elgoog", "agol