整数反转
2017-10-20 23:22
190 查看
算法题目:反转给定的正数
提示:假设输入为32位有符号整数[b]例子:[/b]
Example1: x = 123, return 321 Example2: x = -123, return -321
[b]实现代码:[/b]
#include <stdio.h> int reverse(int x); int main() { int b; b = reverse(-567465862); printf("b is %d", b); return 0; } int reverse(int x) { int a[10] = { 1 }; int tens[10] = { 1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000 }; //int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10; int i, j,k, s = 1; int out = 0; if (x<0) { s = -1; x = x*(-1); } a[0] = (int)(x / 1000000000); a[1] = (int)(x % 1000000000 / 100000000); a[2] = x % 100000000 / 10000000; a[3] = x % 10000000 / 1000000; a[4] = x % 1000000 / 100000; a[5] = x % 100000 / 10000; a[6] = x % 10000 / 1000; a[7] = x % 1000 / 100; a[8] = x % 100 / 10; a[9] = x % 10; for (i = 0; i<10; i++) { if (a[i]>0) break; } k = i; for (j = 0; j<(10 - i); j++) //这里i则要当成常量,for循环里面的程序不能改动i { out = out + a[k] * tens[j]; printf("out is %d\n", out); k++; } out = out*s; return out; }
相关文章推荐
- 反转整数
- JAVA代码—算法基础:反转整数问题
- 迅雷2018笔试——有符号整数反转
- C的复习题(01):反转整数
- 7. Reverse Integer(反转整数)
- 413-反转整数
- LeetCode Reverse Integer 反转整数
- 反转整数
- 反转一个整数
- BUAA_6:三位数反转-分离整数的各个数位
- 37. 反转一个3位整数
- 按位反转整数问题
- Leetcode Reverse Integer 反转整数
- 整数反转的递归算法
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法(ZZ)
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法(ZZ)
- 37. 反转一个3位整数
- leetcode——Reverse Integer 反转整数数字(AC)
- 【0031】反转整数/判断回文
- 【C/C++】实现将一个整数反转