zoukankan      html  css  js  c++  java
  • 回文数的判断

    源程序代码如下:

    //回文判定函数,回文数输出1,非回文数输出0

    #include<stdio.h>

    #include<string.h>

    #define MAX 100 //数组最大值

    int Palindrome(char *string)

    {

           char *p1=string;//定义p1指向字符串首端

           int i=strlen(string);//给定字符串的实际长度

       if(1==i)

        return 1;

           int d=0;

           char *p2=p1+i-1;//定义p2指向字符串的末端

           while(*p1==*p2)//首尾呼应,看是否相等

           {

                         p1++;//首前进,尾后退

                         p2--;

                         d++;

                         if(*p1!=*p2) //有一对不同,则返回0

                                return 0;

                         if(d==i/2) //比较到中间,则是回文数,结束返回1

                                return 1;

           }

           return 0;//不同返回0

    }

    int main(int argc,char **argv)

    {

           int i;

           char string[MAX];

           printf("please input the string:");

           scanf("%s",string);

           i=Palindrome(string);

           printf("%d\n",i);

           return 0;

    }

  • 相关阅读:
    HDU 5585 Numbers
    HDU 3308 LCIS
    POJ 2991 Crane
    POJ 1436 Horizontally Visible Segments
    POJ 3667 Hotel
    HaiHongOJ 1003 God Wang
    【SDOI 2008】 递归数列
    5月19日省中提高组题解
    【HDU 1588】 Gauss Fibonacci
    【POJ 3233】Matrix Power Series
  • 原文地址:https://www.cnblogs.com/sherlockhomles/p/3088953.html
Copyright © 2011-2022 走看看