QDU 反转数字

原创 2016年08月30日 21:56:46

输入一个 c 语言 4字节 int 范围内的数字,输出它反转后的数字。比如12345反转后是54321,-12345反转后是-54321。如果反转后的数字不在 int 范围内就输出0;

每行一个 int 范围内的数字,以 EOF 结尾。

输出反转后的数字,每行一个


注意:带着pow运算很容易很容易有误差,最好都是手写pow函数,另外比较看是否超int 可以用long long存这个数字啊,然后跟int最大值 最小值 比一下。。。

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
const long long big = pow(2,31) - 1;
const long long small = -pow((long long)2,31);
long long  pow(int n)   //手写pow函数
{
    long long ans = 1;
    for(int i = 1; i <= n; i++)
        ans *= 10;
    return ans;
}
int main()
{
    char str[20];
    while(~scanf("%s",str))
    {
        long long n = 0;
        if(str[0] == '-')
        {
            for(int i = 1; i < strlen(str); i++)
            {
                n += (str[i]-'0')*pow(i-1);
               // cout << i << endl;
             //  cout << str[i]-'0' << endl;
            }
         //   cout << n << endl;
            if(n < small) cout << 0 << endl;
            else
            {
                cout << '-' << n << endl;
            }
        }
        else
        {
            for(int i = 0; i < strlen(str); i++)
            {
                n += (str[i]-'0')*pow(i);
            }
            if(n > big) cout << 0 << endl;
            else
            {
                cout << n << endl;
            }
        }
    }
    return 0;
}


版权声明:ACM小白成长之路,我想做那种所有人都能看懂的博客,想让我的博客成为acm新手的最好伙伴~让我的博客就像大神ACdreamer那样可以给别人带去知识~

相关文章推荐

反轉+顯示數字碼

  • 2014年06月22日 22:20
  • 90B
  • 下载

数字反转

  • 2014年05月19日 19:37
  • 281B
  • 下载

<OJ_Sicily>数字反转

利用栈的数据结构实现数字反转

lg P1553 数字反转(升级版)

题目描述 给定一个数,请将该数各个位上数字反转得到一个新数。 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调;小数反转是把整数部...
  • ACM_e
  • ACM_e
  • 2017年05月17日 17:02
  • 180

华为机试:数字颠倒、 字符串反转

1.数字颠倒 题目描述 描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001 输入描述: 输入一个...

hdu 4544 叛逆的小明 -- 数字反转 和 hdu 2074 叠筐(水题)

水题:数字的反转,123变成321,  复数时前导0去掉 比如-100变成-1 #include using namespace std; #define N 10000 int Revers...

P1553 数字反转(升级版)

P1553 数字反转(升级版) 题目描述 给定一个数,请将该数各个位上数字反转得到一个新数。 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整...
  • SSL_lzx
  • SSL_lzx
  • 2017年02月09日 22:38
  • 112

[数字图像处理]灰度变换——反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割

灰度变换,属于一个非常重要的概念。这里主要参考《Digital Image Processing》 Rafael C. Gonzalez / Richard E. Woods 的第三章。书中所有的实验...
  • thnh169
  • thnh169
  • 2013年10月14日 16:54
  • 13934

[数字图像处理]灰度变换——反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割

灰度变换,属于一个非常重要的概念。这里主要参考《Digital Image Processing》 Rafael C. Gonzalez / Richard E. Woods 的第三章。书中所有的实验...

洛谷P1553 数字反转(升级版)

这个题目要判断多种情况。 尤其注意的是,小数点后面的数如果是00XXX,则要输出XXX而不是XXX00。还有,如果只剩下一个0了,请不要吃掉它。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QDU 反转数字
举报原因:
原因补充:

(最多只允许输入30个字)