实现数字逆序的方法
来源:互联网 发布:网络叫表妹是什么意思 编辑:程序博客网 时间:2024/05/22 14:32
很多时候需要实现数字逆序,比如456逆序之后为654,依此类推。
首先考虑十进制的情况,想到读入一个数时,对10取余数,然后除10,逐渐输出,需要考虑的是负数时需要通过一个负号变为正数,即
#include<stdio.h>void main(){ int n; scanf("%d",&n);if(n<0){n=-n;}while(n>0){ printf("%d",n%10); n/=10;}printf("%d");}非十进制可以考虑将10换为n即可。但是这种一般适用于直接输出的情况,而实际有时需要储存,于是变成这样:
int inverse(int n){ int i=0,j=0,b[10],sum=0,c,x; while(n>0) { x=n%10; i++;++j; b[i]=x; n=n/10; } j-=1; for(int k=1;k<=i;k++,j--) { c=b[k]*pow(10,j); sum+=c; } return sum;}i用来标记位数,j用来还原数字,但是这样明显不如通过字符串string类型进行操作,如:
int n,b[110],c[110]; string a; cin>>n; scanf("%s",a); for(int i=strlen(a)-1;i>=0;i--) { if(n==16) { if(a[i]>='0'&&a[i]<='9'){b[strlen(a)-i-1]=a[i]-48;c[i]=a[i]-48;} if(a[i]>='A'&&a[i]<='Z'){b[strlen(a)-i-1]=a[i]-55;c[i]=a[i]-55;} } else {b[strlen(a)-i-1]=a[i]-48;c[i]=a[i]-48;} }或者也可以:
int n,h;string m;cin>>n>>m; h=m.length(); for(int i=1;i<=h;i++) { int o=m[i-1]-'0'; if(o<=9)a[i]=o; else a[i]=o-7; }
阅读全文
1 0
- 实现数字逆序的方法
- C#-数字逆序输出的几种方法
- 链表逆序的实现方法
- C++ 实现求一串数字的逆序数{线性代数里的逆序数}
- 递归方法实现逆序
- 递归方法实现逆序
- 递归方法实现逆序
- 递归方法实现逆序
- 数字字符串的逆序输出
- 求数字的逆序表示
- python实现逆序输出一个数字
- 多种方法实现字符串逆序
- java实现的递归方法逆序对查找
- 分治方法实现求一个数组的逆序数
- TreeSet的逆序存储方法设计与实现
- 实现数组逆序排列的两种方法
- 数字逆序
- 实现字符串的逆序
- oracle-SQL-case when 改用 DECODE
- POJ 3349 重复的雪花(哈希)
- 多线程(5)—线程通信
- 系统资源监控工具
- RecyclerView中CheckBox无效.
- 实现数字逆序的方法
- HDU-2017 多校训练赛5-1006-Rikka with Graph
- Oracle 中 decode 函数用法
- 经典大数据平台展示
- php 中文转义问题
- 关于select2默认选中 动态选中 显示
- Promise-Bluebird源码
- [bzoj2037][Sdoi2008]Sue的小球 基于未来状态的动态规划
- Java集合框架