21xrx.com
2024-11-22 07:23:07 Friday
登录
文章检索 我的文章 写文章
C++数组判断对称数
2023-07-07 08:50:18 深夜i     --     --
C++ 数组 对称数

对称数是指正读和反读都一样的数,例如121和11都是对称数。在C++语言中,我们可以通过数组来判断一个数是否是对称数。

当我们要判断一个数是否是对称数时,需要将这个数转换成字符串,然后将字符串分割成单个数字,存储到一个数组中。接下来,我们就可以通过比较数组中两端的数字来判断这个数是否是对称数。

下面是示例代码:


#include <iostream>

#include <string>

using namespace std;

bool isSymmetric(int num) {

  // 将数字转换成字符串,存储到s中

  string s = to_string(num);

  int n = s.size();

  int arr[n];

  // 将字符串中的数字逐个存放到数组中

  for(int i=0; i<n; i++) {

    arr[i] = s[i] - '0';

  }

  // 检查数组中对称位置的数字是否相等

  for(int i=0; i<n/2; i++) {

    if(arr[i] != arr[n-1-i])

      return false;

    

  }

  return true;

}

int main() {

  int num = 121;

  if(isSymmetric(num))

    cout << num << "是对称数" << endl;

   else

    cout << num << "不是对称数" << endl;

  

  return 0;

}

在这段代码中,我们首先将数字转换成字符串,然后逐个取出字符串中的数字存储到数组中。接着,我们使用for循环来比较数组中对称位置的数字是否相等,如果有不相等的数字,则返回false,否则返回true。

使用数组来判断对称数的好处是能够使用循环来快速检查数字,而不需要逐个比较每个数字。此外,使用数组还可以更好地控制内存使用,避免内存泄漏和其他内存错误。

总之,使用数组来判断对称数是一种快速、简便且可靠的方法,在C++中实现起来也非常容易。

  
  

评论区

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