整数取反,人人code--英雄会
2013-12-20 21:03
204 查看
题目很简单,完成函数reverse,要求实现把给定的一个整数取其相反数的功能,
举两个例子如下:
x=123,return321 x=-123,return-321
如题,这题目很简单,就不跟小伙伴们废话了,在英雄会上判定也是一个一星的题而已,入门...
将一个整数按照我们的常规思路 不断取余,再舍弃尾数,这样录入得到各个位数的值,再将其反转,最后将之前是否有负号重新补上;
小小代码附上,请各位不吝赐教:
加了多余的说明只是为了更加清晰
工程:http://download.csdn.net/detail/xjm199/6747469
http://download.csdn.net/user/xjm199
后续有更加好的想法会补上
大神们有什么建议,可以提点一下...多多交流,3Q.......o(∩_∩)o 哈哈
举两个例子如下:
x=123,return321 x=-123,return-321
如题,这题目很简单,就不跟小伙伴们废话了,在英雄会上判定也是一个一星的题而已,入门...
将一个整数按照我们的常规思路 不断取余,再舍弃尾数,这样录入得到各个位数的值,再将其反转,最后将之前是否有负号重新补上;
小小代码附上,请各位不吝赐教:
#include <stdio.h> #include <stdlib.h> int Reverse(int x) { int i = 0, j = 0; char num[20] = {0}; int Pos = 0; //正负数标志 int Rnum = x; //操作数 if(x < 0) //负数 { Rnum = -x; //得到正数 Pos = 1; //负数标志 } while(Rnum > 0) { num[i] = Rnum % 10; //由尾数开头存入数组 Rnum /= 10; //舍弃尾数 i++; } Rnum = 0; //重新作为记录 while(j < i) { Rnum = Rnum * 10 + num[j]; //反转 j++; } if(1 == Pos) //返回负号 Rnum = -Rnum; return Rnum; } int main() { int n = -123456789; printf("反转前:%d\n", n); printf("反转后:%d\n", Reverse(n)); system("pause"); return 0; }
加了多余的说明只是为了更加清晰
工程:http://download.csdn.net/detail/xjm199/6747469
http://download.csdn.net/user/xjm199
后续有更加好的想法会补上
大神们有什么建议,可以提点一下...多多交流,3Q.......o(∩_∩)o 哈哈
相关文章推荐
- IFTTT Evernote 自动生成笔记
- CSL概述(翻译总结自TI官方文档)
- RBAC(Role-Based Access Control)基于角色的访问控制
- 查看内存命令
- 项目开发计划——机房收费系统
- 不常用的文件分割与合并(使用split和cat)
- 读c语言深度剖析 -- typedef小结(3) 定义结构体
- 理工大学ACM平台题答案关于C语言 1006 Sum Problem
- [分享] C++ How to Program, 8/E (C++大学教程 第8版) 英文版PDF下载
- Flickr Tag Recommendation based on Collective Knowledge
- Json
- 视频流读取与视频帧处理
- 希尔排序
- NSDictionary、NSMutableDictionary
- spark安装
- 通过继承CWinThread实现MFC多线程
- bochs和硬盘管理
- Linq Distinct 自定义比较
- python模块管理
- 解秘华为:肯给养出最拼团队