当前位置:   article > 正文

数字反转(C++)_c++数字反转

c++数字反转
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. string s;
  6. cin>>s; //endl是用来换行的,看实际使用
  7. int length = s.size(),m = 0;
  8. char n;
  9. for(int i = 0;i < length;i ++)
  10. {
  11. if(!isdigit(s[i])) //isdigit用来判断字符串是否只有数字构成
  12. {
  13. n = s[i];
  14. m = i;
  15. break;
  16. }
  17. }
  18. if(!m)
  19. {
  20. while(s[length-1] == '0')
  21. length --;
  22. for(int i = length -1;i >= 0; i --)
  23. {
  24. cout << s[i];
  25. }
  26. if(length -1 < 0 )
  27. cout << "0";
  28. }
  29. else if(n == '.' || n == '/')
  30. {
  31. int l = m -1;
  32. int r = m + 1;
  33. while(s[l] == '0') l --;
  34. for(int i = l; i>= 0;i --)
  35. cout << s[i];
  36. if(l < 0 )
  37. cout << "0";
  38. cout << n;
  39. if(n == '.')
  40. {
  41. while(s[r]=='0')
  42. r ++;
  43. }
  44. else while(s[length -1] == '0')
  45. length --;
  46. for(int i = length -1;i >= r;i --)
  47. {
  48. cout << s[i];
  49. }
  50. if(r == length )
  51. cout << "0";
  52. }
  53. return 0;
  54. }

给大嘴猫一个数(整数、小数、分数),让它找出该数的反转。

  • 整数反转是将所有数位对调。

  • 小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。

  • 分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母。

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

闽ICP备14008679号