21xrx.com
2024-11-05 17:19:11 Tuesday
登录
文章检索 我的文章 写文章
C++ 判断数组是否为回文数
2023-07-09 21:25:36 深夜i     --     --
C++ 数组 回文数 判断

编程是一门需要不断学习和提升自己的技能的艺术。在 C++ 编程中,判断一个数组是否为回文数是一项非常基础和重要的技能。回文数是指正着读和倒着读都一样的数字或字符串。例如, "121" 和 "abcba" 都是回文数。

要判断一个数组是否为回文数,可以采用双指针的方法。首先,定义两个指针分别指向数组的第一个位置和最后一个位置,然后让它们向中间移动,并比较它们所指向的元素值是否相等。如果两个指针所指向的元素值都相等,那么就继续向中间移动,否则说明数组不是回文数。

下面是一个使用双指针判断数组是否为回文数的示例代码:


#include <iostream>

using namespace std;

bool isPalindrome(int arr[], int n) {

  int left = 0, right = n - 1;

  while (left < right) {

    if (arr[left] != arr[right])

      return false;

    

    left++;

    right--;

  }

  return true;

}

int main() {

  int arr1[] = 2;

  int arr2[] = 1;

  int n1 = sizeof(arr1) / sizeof(arr1[0]);

  int n2 = sizeof(arr2) / sizeof(arr2[0]);

  if (isPalindrome(arr1, n1))

    cout << "arr1 is a palindrome." << endl;

   else

    cout << "arr1 is not a palindrome." << endl;

  

  if (isPalindrome(arr2, n2))

    cout << "arr2 is a palindrome." << endl;

   else

    cout << "arr2 is not a palindrome." << endl;

  

  return 0;

}

在上述代码中, isPalindrome() 函数用于判断一个数组是否为回文数。它接收两个参数,一个是要判断的数组 arr[],另一个是这个数组的长度 n。另外,该函数返回一个布尔值,表示该数组是否为回文数。如果数组是回文数,则返回 true,否则返回 false。

这个程序中,定义两个数组 arr1 和 arr2,它们分别包含 5 个和 6 个整数。这两个数组分别被传递给 isPalindrome() 函数进行判断,同时根据函数的返回值输出相应的判断结果。

总之, C++ 判断数组是否为回文数是一项基础、重要的编程技能。利用双指针的方法,可以很容易地编写出判断回文数的程序。不断练习和掌握这种技能,可以帮助我们更好地理解和掌握 C++ 编程语言。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复