【洛谷 P1307】[NOIP2011 普及组] 数字反转 题解(字符串)
  VJeqq9jk2lCR 2023年11月19日 38 0

[NOIP2011 普及组] 数字反转

题目描述

给定一个整数 【洛谷 P1307】[NOIP2011 普及组] 数字反转 题解(字符串)_#include,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。

输入格式

一个整数 【洛谷 P1307】[NOIP2011 普及组] 数字反转 题解(字符串)_#include

输出格式

一个整数,表示反转后的新数。

样例 #1

样例输入 #1

123

样例输出 #1

321

样例 #2

样例输入 #2

-380

样例输出 #2

-83

提示

【数据范围】

$-1,000,000,000\leq N\leq 1,000,000,000 $。

noip2011 普及组第一题

思路

如果输入0直接输出,否则输出符号,去除多余的0,倒序输出。

AC代码

#include <iostream>
#include <vector>
#include <iostream>
#include <sstream>
#define AUTHOR "HEX9CF"
using namespace std;

int main()
{
    string str;
    char ch;
    vector<int> v;
    getline(cin, str);
    if(str == "0"){
        cout << str << endl;
        return 0;
    }
    stringstream ss;
    ss << str;
    while (ss >> ch)
    {
        if ('-' == ch)
        {
        putchar('-');
        }
        else
        {
            v.push_back(ch - '0');
        }
    }
    vector<int>::reverse_iterator rit = v.rbegin();
    for(;rit != v.rend(); rit++){
        if(0 != *rit){
            break;
        }
    }
    for(;rit != v.rend(); rit++){
        cout << *rit;
    }
    return 0;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
VJeqq9jk2lCR