题目描述

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

输入输出格式

输入格式:

输入文件名为reverse.in 。

输入共1 行,一个整数 N。

输出格式:

输出文件名为reverse.out 。

输出共1行,一个整数,表示反转后的新数。

输入输出样例

输入样例#1:

123

输出样例#1:

321

输入样例#2:

-380

输出样例#2:

-83

说明

数据范围

-1,000,000,000≤ N≤ 1,000,000,000 。

noip2011普及组第一题

思路:

  1)超短代码.

  2)判断是否为负数,分为两种情况

 

代码1)

#include <iostream>

using namespace std;

int main()
{
int a,i=;
cin>>a;///读入
while(a!=)///方便快捷的删除前导零
{///首先取出个位数,然后取十位....
i=i*+a%;
a/=;///继续进行操作(while循环是否能够结束,取决于此!!)
}
cout<<i;///输出反转过后的数
return ;
}

QAQ

代码2)

#include <iostream>
#include <cstdio>
#include <cstring> using namespace std; int a[];///进行输出
char n[];///读入 int main()
{
cin>>n;
int len=strlen(n);
/*可能会出现负数*/
int num;
if(n[]=='-')
{
printf("-");///先输出'-',表示这个数为负数(反转后)
num=;///因为有'-'号
for(int i=;i<len;i++)
a[len-i]=n[i]-'';///逆序
while(a[num]==) num++;///删除前导零,避免出现中间很多零也统统删掉的情况
for(int i=num;i<len;i++)
printf("%d",a[i]);///直接输出
}
else
{
num=;///更改起点,因为一号元素也是数字,不是'-'
for(int i=;i<len;i++)
a[len-i]=n[i]-'';///先让数字全部反转
while(a[num]==) num++;///删除前导零
for(int i=num;i<=len;i++)
printf("%d",a[i]);///直接正序输出就行咯
}
return ;
}

QwQ

End.

luogu P1307 数字反转 x的更多相关文章

  1. 【luogu P1307 数字反转】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1307 刚入门的一道字符串模拟,分四种情况讨论来做比较好. #include<iostream> ...

  2. 洛谷 P1307 数字反转

    链接:https://www.luogu.org/problem/P1307 题目: 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否 ...

  3. 洛谷——P1307 数字反转

    https://www.luogu.org/problem/show?pid=1307#sub 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原 ...

  4. 洛谷P1307 数字反转【水题】

    给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入输出格式 输入格式: 一个整数 NN ...

  5. P1307 数字反转

    题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入输出格式 输入格式: 一个 ...

  6. luogu P1553 数字反转(升级版)

    P1553 数字反转(升级版) 直通 思路: 首先使用char数组进行读入,然后直接按照题目要求进行反转即可, 但要注意的是对零的处理:(有点类似于高精去除前导零) ①去除只是整数.百分数的时候,反转 ...

  7. 洛谷P1307 数字反转

    题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入输出格式 输入格式: 输入 ...

  8. NOIP2011普及组 数字反转

    题目OJ链接: http://codevs.cn/problem/1130/ https://www.luogu.org/problemnew/show/P1307 2011年NOIP全国联赛普及组 ...

  9. 洛谷 P1553 数字反转(升级版)【字符串+STL stack】

    P1553 数字反转(升级版) 题目描述 给定一个数,请将该数各个位上数字反转得到一个新数. 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数.整数反转是将所有数位对调 ...

随机推荐

  1. php扩展安装范例

    php扩展安装: 安装bcmath: /usr/local/php/bin/phpize //指定路径 ./configure //可查找路径 ./configure --with-php-confi ...

  2. 删除C:\Program Files (x86)\Common Files\baidu 等误装软件且正常模式删不掉的文件夹

    ---------方法一-------- C:\Program Files\Common Files\Baidu\BaiduProtect\1.1.0.26打开以上路径找到反注册程序uninst.ex ...

  3. python函数及调用

    python的函数是一段重复多次可调用的代码,依据python的函数,我们可以利用函数式的编程,来减少代码的重复. 在本章节中,详细的介绍python的函数,以及python的函数式编程的与众不同,函 ...

  4. 应用安全-Web安全-注入篇

    asp站点 ()and = 和 and =)服务器类型判断(ACCESS MSSQL) http://URL.asp?id=24 and (select count(*) from sysobject ...

  5. Linux apt-get命令的基本使用

    学习笔记,如有侵权,立即删除! 什么是apt-get ? Ubuntu源自Debian Linux.Debian使用dpkg打包系统.包装系统是一种为安装提供程序和应用程序的方法.这样,您就不必从源代 ...

  6. 关于Vue的理解以及与React框架的对比

    1.Vue的理解 概念: Vue是一套用于构建用户界面的渐进式框架: Vue的核心库只关注视图层: 是一个数据驱动的MVVM框架: 特性: 确实轻量:体积比较小: 数据绑定简单.方便: 有一些简单的内 ...

  7. jJava第一周学习总结

    对于本学期要学习的Java程序语言,经过一周多的学习,我们首先在第一堂课了解了Java平台以及Java的历史,接着认识了JDK,初步了解了JDK的安装,JDK运行环境的设置,包括其中路径path的设置 ...

  8. JavaSE编码试题强化练习4

    1.编写一个Worker类,为Worker类添加相应的代码,使得Worker对象能正确放入TreeSet中.并编写相应的测试代码. /** * Worker类 */ public class Work ...

  9. poj-2289.jamies contact groups(二分答案 + 二分多重匹配)

    Jamie's Contact Groups Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 9227   Accepted: ...

  10. BZOJ 4919 (树上LIS+启发式合并)

    题面 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切地说,你需要选择尽可能多的节点,满足大根堆的性质:对于任意两个点i, ...