21xrx.com
2024-11-10 00:40:56 Sunday
登录
文章检索 我的文章 写文章
C++输出反序数。
2023-07-05 08:26:17 深夜i     --     --
C++ 输出 反序数

在C++编程语言中,输出反序数是一种比较常见的问题。反序数即为将一个数的各位数字颠倒顺序后得到的数。

例如,对于数字123,其反序数为321;对于数字456789,其反序数为987654。下面我们将介绍两种实现方法。

1. 使用字符串反转函数

C++中的标准库中提供了一个反转字符串函数reverse(),可以使用这个函数将一个数字的各位数字颠倒过来。首先将数字转换为字符串,然后再使用reverse()函数进行反转,最后再将该字符串转换为数字输出即可。

下面是实现代码:


#include <iostream>

#include <algorithm>

#include <string>

using namespace std;

int main()

{

  int num;

  cout << "请输入一个正整数:" << endl;

  cin >> num;

  string str = to_string(num);

  reverse(str.begin(), str.end());

  int result = stoi(str);

  cout << "该数字的反序数为:" << result << endl;

  return 0;

}

2. 使用循环反转

另一种实现方法是使用循环,逐个将数字的低位数字取出并添加到结果数中,然后再将数字除以10,递归进行这个过程,直到数字变为0。

下面是实现代码:


#include <iostream>

using namespace std;

int main()

{

  int num, result = 0;

  cout << "请输入一个正整数:" << endl;

  cin >> num;

  while(num != 0)

  {

    result = result * 10 + num % 10;

    num /= 10;

  }

  cout << "该数字的反序数为:" << result << endl;

  return 0;

}

无论哪种方法,都可以很容易地实现输出数字的反序数。这种技巧在一些数学问题中也会有应用,例如在判断一个数是否为回文数时就可以使用反序数的方法。

  
  

评论区

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