社区讨论

大佬求救

学术版参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@m2odfcc7
此快照首次捕获于
2024/10/25 14:48
去年
此快照最后确认于
2025/11/04 16:14
4 个月前
查看原帖
数字翻转没问题,正负数也没问题,就是0的问题# [NOIP2011 普及组] 数字反转

题目描述

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

输入格式

一个整数 NN

输出格式

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

样例 #1

样例输入 #1

CPP
123

样例输出 #1

CPP
321

样例 #2

样例输入 #2

CPP
-380

样例输出 #2

CPP
-83

提示

【数据范围】
1,000,000,000N1,000,000,000-1,000,000,000\leq N\leq 1,000,000,000
noip2011 普及组第一题```cpp #include #include using namespace std; int main(){ string k; int s; cin>>k;
CPP
for(int i=k.size();i>=0;i--){
	if(k[i]=='0'){
		continue;
	}
	else if(k[i]!='0'){
		s=i;
		break;
	}
}

if(k[0]=='-'){
	cout<<"-";
	for(int i=s-1;i>=1;i--){
		cout<<k[i];
	}
}
if(k[0]!='-'){
	for(int i=s-1;i>=0;i--){
		cout<<k[i];
	}
}
return 0;
}
CPP

回复

0 条回复,欢迎继续交流。

正在加载回复...