【YbtOJ 字符串 - 1】数字反转

该博客介绍了如何反转一个整数的各个位,给出了一种使用C++实现的方法。通过将整数转换为字符串,然后翻转字符串再转回整数,实现了数字的反转。在处理负数时,程序会保留原始符号。输入样例和输出样例展示了反转操作的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数字反转


题目

给定一个整数,请将该数各个位上数字反转得到一个新数。

新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零


输入

输入共 111行,一个整数 NNN

输出

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


输入样例

-380

输出样例

-83

解题思路

sprintf(s, %d, n) 将整数NNN转化为字符串SSS
sscanf(c, “%d”, &n) 将字符串SSS转化为整数NANANA


程序如下

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;

int n, l;

char s[1001], c[1001];

int main()
{
	scanf("%d",&n);
	sprintf(s, "%d", n);
	l = strlen(s);
	for(int i = 0; i <= l - 1; ++i)
		c[l - i - 1] = s[i];
	if(n < 0) printf("-");
	sscanf(c, "%d", &n);
	printf("%d",n);
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值