zoukankan      html  css  js  c++  java
  • 编程菜鸟的日记-初学尝试编程-回文数的判断

    //如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"?

  • 相关阅读:
    Windows删除git本地记住的密码
    C++ fmt库的安装和测试
    仿照struct is_integral 实现struct not_int
    folly库net库udp小例子
    Java阻塞队列BlockingQueue
    正则表达式必知必会摘要
    正则表达式匹配IP地址
    SimpleDateFormat线程安全性测试与解决方案
    Java8 HashMap中哈希桶(table)数组的索引位置
    socket网络编程--基础应用篇
  • 原文地址:https://www.cnblogs.com/lynnycy/p/3383973.html
Copyright © 2011-2022 走看看