数字反转
Posted 花开一半才最美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字反转相关的知识,希望对你有一定的参考价值。
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
- 输入
- 输入共 1 行,一个整数N。
-1,000,000,000 ≤ N≤ 1,000,000,000。 - 输出
- 输出共 1 行,一个整数,表示反转后的新数。
- 样例输入
-
样例 #1: 123 样例 #2: -380
- 样例输出
-
样例 #1: 321 样例 #2: -83
#include <stdio.h>
int main()
{
int f;
long int str,i,a,a_back;
while(scanf("%ld",&str)!=EOF)
{ f=1;
if(str<0)
{
printf("-");
str=-str;
}
if(str==0)
printf("0");
a_back=str%10;//3
for(i=0;str>0;i++)
{
a=str%10;//a=3
str/=10;//str=12
if(a==0&&a_back==0)
f=0;
else
f=1;
if(f==1)
{
printf("%d",a);
if(a!=0)
a_back=a;
}
}
printf("\n");
}
return 0;
}
以上是关于数字反转的主要内容,如果未能解决你的问题,请参考以下文章
2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号)。(代码片段