21xrx.com
2025-04-03 23:10:28 Thursday
文章检索 我的文章 写文章
C++实现数字逆序输出并筛选奇数
2023-06-27 00:58:52 深夜i     13     0
C++ 数字逆序 输出 筛选 奇数

C++可以用很多种方法来实现数字逆序输出并筛选奇数。这篇文章将介绍两种常见的方法。

方法一:使用循环遍历

首先,我们需要将输入的数字转换成字符串类型,然后使用循环遍历字符串,将每个字符逆序输出。在输出的同时,我们还需要对每个字符进行筛选,如果字符对应的数字是奇数,则输出该数字。

具体实现代码如下:

#include <iostream>
#include <string>
using namespace std;
int main() {
  int num;
  cout << "请输入一个数字:";
  cin >> num;
  // 将数字转换成字符串类型
  string str = to_string(num);
  // 循环遍历字符串并逆序输出,并筛选奇数
  int len = str.length();
  for (int i = len - 1; i >= 0; i--) {
    char c = str[i];
    cout << c;
    if ((c - '0') % 2 == 1)
      cout << "(奇数)";
    
  }
  return 0;
}

方法二:使用递归

另一种方法是使用递归来实现数字逆序输出。具体思路是:每次递归时取出数字的最后一位并输出,然后将剩余部分作为参数再次调用函数本身。在递归的过程中,我们同样需要对每个数字进行筛选。

具体实现代码如下:

#include <iostream>
using namespace std;
void reverse_num(int num) {
  if (num == 0)
    return;
  
  int digit = num % 10;
  cout << digit;
  if (digit % 2 == 1)
    cout << "(奇数)";
  
  reverse_num(num / 10);
}
int main() {
  int num;
  cout << "请输入一个数字:";
  cin >> num;
  reverse_num(num);
  return 0;
}

以上就是两种不同的实现方式,读者可以根据自己的实际需求选择更适合的方法。同时需要注意的是,以上代码仅供参考,实际应用时还需要考虑代码的健壮性及效率等方面。

  
  

评论区