21xrx.com
2024-09-20 00:56:15 Friday
登录
文章检索 我的文章 写文章
C++实现数字逆序输出并筛选奇数
2023-06-27 00:58:52 深夜i     --     --
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;

}

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

  
  

评论区

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