当前位置:   article > 正文

数字颠倒的c++两种方式实现_c++倒序输出数字

c++倒序输出数字

题目描述:

输入一个整数,将这个整数以字符串的形式逆序输出

程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001

方式一

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int a;
  6. cin >> a;
  7. do
  8. {
  9. printf("%d",a%10);
  10. a /= 10;
  11. }
  12. while(a);
  13. return 0;
  14. }

此方式没有将整型转换为字符串,利用除余和商进行移位倒置。例如:105%10 = 5,然后105 /10= 10;10 % 10 = 0;10 / 10 = 1;1%10 = 1,1/10 = 0;因此输入105,输出501。值得注意的是:需要用do while形式,不然输入为0无法输出。

方式二:

利用C++内置的逆序算法(#include <algorithm>):reverse

  1. #include <iostream>
  2. #include<string> // to_string(): 将数字常量转换为字符串
  3. #include<algorithm> // reverse 头文件
  4. using namespace std;
  5. int main()
  6. {
  7. int nums;
  8. cin >> nums;
  9. string str = to_string(nums);
  10. reverse(str.begin(),str.end());
  11. cout << str;
  12. return 0;
  13. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/编程探险家/article/detail/60519
推荐阅读
相关标签
  

闽ICP备14008679号