21xrx.com
2024-11-22 07:04:32 Friday
登录
文章检索 我的文章 写文章
C++编程:输入不多于5位的正整数,实现以下要求
2023-07-04 15:35:20 深夜i     --     --
C++ 编程 正整数 输入 实现

在C++编程中,在控制台上输入一个不多于5位的正整数,然后实现以下要求:

1. 将输入的正整数加以反转,并输出。

2. 将输入的正整数按位逆序存放,然后输出。

3. 将输入的正整数转换成二进制形式,并输出。

4. 判断输入的正整数是否是回文数(即正序和倒序都一样),并输出结果。

下面是实现这些要求的代码(注:代码中的注释是为了便于理解,可以根据需要选择是否添加):

#include

#include

using namespace std;

int main()

{

  int n;

  cin >> n;  // 输入不多于5位的正整数

  // 反转正整数

  int revNum = 0;

  while (n)  // 当n不为0时

  {

    revNum = revNum * 10 + n % 10;  // 取n的个位,加到反转数的末位

    n /= 10;  // 去掉n的个位

  }

  cout << "反转后的正整数为:" << revNum << endl;

  // 按位逆序存放正整数

  int bitRevNum = 0;

  int bitNum = 1; // bitNum表示当前位数

  while (n)  // 当n不为0时

  {

    bitRevNum += (n % 10) * pow(10, 5 - bitNum);  // 将n的个位存放到相应位置

    n /= 10;  // 去掉n的个位

    bitNum++;  // 当前位数加1

  }

  cout << "按位逆序存放的正整数为:" << bitRevNum << endl;

  // 转换为二进制形式

  int binaryNum = 0;

  int binaryBitNum = 1;  // binaryBitNum表示当前位数

  while (n)  // 当n不为0时

  {

    binaryNum += (n % 2) * pow(10, binaryBitNum - 1); // 将n的二进制位存放到相应位置

    n /= 2; // 将n的二进制位右移

    binaryBitNum++; // 当前位数加1

  }

  cout << "转换为二进制形式的正整数为:" << binaryNum << endl;

  // 判断是否是回文数

  int num = n;  // 用num记录原数

  int tempNum = 0;

  while (n)  // 当n不为0时

  {

    tempNum = tempNum * 10 + n % 10; // 取n的个位,加到临时数的末位

    n /= 10;  // 去掉n的个位

  }

  if (num == tempNum) // 判断是否是回文数

    cout << "是回文数。" << endl;

  else

    cout << "不是回文数。" << endl;

  return 0;

}

在控制台上输入一个不多于5位的正整数,可以得到上述四个要求的结果。

以上就是使用C++编程实现输入不多于5位的正整数,实现反转、逆序存放、转换为二进制形式、判断是否是回文数的要求的全部内容。如果你需要更深入学习C++编程,可以进行进一步的学习和实践。

  
  

评论区

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