• 编程菜鸟的日记-初学尝试编程-回文数的判断


    //如3,121,313,34443,12121都是回文数

    #include <iostream>

    using namespace std;

    int judge(int m)

    {//首先将输入的整数m按每位进行存储

    //假设m=12121,则定义数组a[5]={1,2,1,2,1}

          int temp,a[10];

          int i,t;//i存储为m的位数,t为每位上的具体数字

          temp=m;

          while(temp!=0)

            {

               t=temp%10;

               a[i]=t;

               temp=temp/10;

               i++;

             }

            int *p=a;

            int *q=a+i-1;

            while(p<q)

              { 

                  if(*p!=*q)

                     break;

                  else

                     {

                        p++;

                        q--;

                     }

               }

            if(p<q)

              {

                 cout<<"不是"<<endl;

               }

           else

              {

                cout<<"是"<<endl;

              }

    cout<<m<<endl;

    }

    int main()

    {

       int m;

        cout<<"请输入整数m";

        cin>>m;

        Judge(m);

        system("pause");

        return 0;

    总结:1)如何将整数m的每位存储在数组中

             2)设置两个指针,一个指向数组首元素,另一个指向数组有效长度的末位(注意:并不是数组的末位)

             3)首位指针逐渐递增,末位指针逐渐递减,直到首位不小于末位地址。

    发散:如果是字符串,如何判断?

            如果是字符串abcdefbdcba,如何返回回文字符串最大长度以及回文字符串"abcd"?

  • 相关阅读:
    技巧和诀窍;在VS 2005里优化ASP.NET 2.0Web项目的Build性能
    [资源]Flex 中文帮助
    13 Awesome Javascript CSS Menus
    兼容FF\IE的事件获得方法
    MSVCR80D.dll not found解决方案
    [转]一种革命性的自绘菜单实现
    [ZZ]马化腾关于产品设计与用户体验的培训
    [ZZ]WatiN:在.NET中测试Web应用程序
    How to Recommender Systems?
    淘宝第三届D2在上海举办
  • 原文地址:https://www.cnblogs.com/lynnycy/p/3383973.html
Copyright © 2020-2023  润新知