ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

C++ÖÐʵÏÖ×î´ó»ØÎÄ×Ó´®(Ò»)
2013-11-20 14:23:34 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:396´Î
Tags£ºÊµÏÖ ×î´ó ÎÄ×Ó´®

    C++ÖÐʵÏÖ×î´ó»ØÎÄ×Ó´®
    01.// huiwen.cpp : ¶¨Òå¿ØÖÆÌ¨Ó¦ÓóÌÐòµÄÈë¿Úµã¡£
    02.//
    03.
    04.#include "stdio.h"
    05.#include "stdlib.h"
    06.#include "iostream"
    07.
    08.using namespace std;
    09.
    10.bool isHuiwen£¨char * str£©£»
    11.bool isHuiwen2£¨char * ps, char * pn£©£»
    12.char * findBiggestHuiwen£¨char * str£©£»
    13.
    14.
    15.int main£¨int argc, char * argv[]£©
    16.{
    17.    char str[] = "123456";
    18.
    19.    cout¡¶sizeof£¨str£©¡¶endl;
    20.    bool result = isHuiwen£¨str£©£»
    21.    cout¡¶str¡¶":"¡¶result¡¶endl;
    22.
    23.    char str2[] = "123456654321";
    24.    bool result2 = isHuiwen£¨str2£©£»
    25.    cout¡¶str2¡¶":"¡¶result2¡¶endl;
    26.
    27.    char str3[] = "123454321";
    28.    bool result3 = isHuiwen£¨str3£©£»
    29.    cout¡¶str3¡¶":"¡¶result3¡¶endl;
    30.
    31.    char str4[] = "abcde123321d";
    32.    char * p = findBiggestHuiwen£¨str4£©£»
    33.    cout¡¶str4¡¶":"¡¶p¡¶endl;
    34.
    35.    char str5[] = "123454321abcdefg";
    36.    char * p1 = findBiggestHuiwen£¨str5£©£»
    37.    cout¡¶str5¡¶":"¡¶p1¡¶endl;
    38.
    39.    system£¨"pause"£©£»
    40.    return 0;
    41.}
    42.
    43.char * findBiggestHuiwen£¨char * str£©
    44.{
    45.    char * presult;
    46.    char * ps = str;
    47.    char * pn = str;
    48.    while£¨*pn != '\0'£© pn++;
    49.    pn--;
    50.
    51.    int max = 0;
    52.
    53.    while£¨ps < pn£©
    54.    {
    55.        // ÅжÏÒÔps¿ªÊ¼µÄÿһ¸ö×Ö·û´®
    56.        // ÒÆ¶¯pn»ñÈ¡ÒÔps¿ªÊ¼µÄÿ¸ö×Ö·û´®
    57.        char * pend = pn;
    58.        while£¨pend > ps£©
    59.        {
    60.            if£¨isHuiwen2£¨ps, pend£©£©
    61.            {
    62.                int length = pend - ps + 1;
    63.                if£¨max < length£©
    64.                {
    65.                    max = length;
    66.                    presult = ps;
    67.                }
    68.            }
    69.
    70.            pend--;
    71.        }
    72.
    73.        ps++;
    74.    }
    75.
    76.    char * result = £¨char *£©malloc£¨sizeof£¨char£©*£¨max + 1£©£©£»
    77.    for£¨int i = 0; i < max; i++£©
    78.        result[i] = *presult++;
    79.    result[max] = '\0';
    80.    return result;
    81.}
    82.
    83.bool isHuiwen2£¨char * ps, char * pn£©
    84.{
    85.    if£¨ps >= pn£© return false;
    86.    while£¨ps <= pn£©
    87.    {
    88.        if£¨*ps != *pn£©
    89.            break;
    90.        else
    91.        {
    92.            ps++;
    93.            pn--;
    94.        }
    95.    }
    96.
    97.    if£¨ps <= pn£© return false;
    98.    else return true;
    99.}
    100.
    101.
    102.bool isHuiwen£¨char * str£©
    103.{
    104.    if£¨str == NULL£© return false;
    105.    if£¨strlen£¨str£© <= 1£© return false;
    106.
    107.    char * ps = str;
    108.    char * pn = str;
    109.    while£¨*pn != '\0'£©
    110.        pn++;
    111.    pn--;
    112.
    113.    while£¨ps<=pn£©
    114.    {
    115.        if£¨*ps != *pn£©
    116.            break;
    117.        else
    118.        {
    119.            ps++;
    120.            pn--;
    121.        }
    122.    }
    123.
    124.    if£¨ps<=pn£© return false;
    125.    else return true;
    126.}

   

Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 4 5 6 ÏÂÒ»Ò³ βҳ 1/6/6
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºÖ±½Ó²î·ÖÔ¼ÊøÇó×î¶Ì· ÏÂһƪ£ºC++ÖлñÈ¡ËùÓпÉÄܵÄ×éºÏ

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)