首页 > 其他 > 详细

[CODEVS1130]数字反转

时间:2015-08-04 20:37:53      阅读:250      评论:0      收藏:0      [点我收藏+]
题目描述 Description

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形
式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零.

这是一道水题。我必须承认。蒟蒻表示很开心~~
思路如下:
读入数据后把数字转换为字符,再进行数组反转
也就是c[len-i-1]=s[i];必须重视的一点是数组是从0开始的!!
关于去除前导零:
使用sscanf函数可直接转换~
判断首位是否为零,如果为零,len——,直到不是零,输出原数
 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 char s[10],c[10];
 5 using namespace std;
 6 int main()
 7 {
 8     int n;
 9     cin>>n;
10     sprintf(s,"%d",n);
11     int len=strlen(s);
12     for(int i=0;i<len;++i)
13      c[len-i-1]=s[i];
14     if(n<0) cout<<"-";
15     sscanf(c,"%d",&n);//转换为int类型后免去了去除前导0的步骤
16     cout<<n;
17     return 0;
18 }

 

 

[CODEVS1130]数字反转

原文:http://www.cnblogs.com/TYH-TYH/p/4702920.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!