洛谷选题:P1307 [NOIP 2011 普及组] 数字反转

📅 发布时间:2026/7/15 22:11:32 👁️ 浏览次数:
洛谷选题:P1307 [NOIP 2011 普及组] 数字反转
【题目】给定一个整数 N请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式即除非给定的原数为零否则反转后得到的新数的最高位数字不应为零。输入格式一个整数 N。输出格式一个整数表示反转后的新数。输入样例1:123输出样例1:321输入样例2:-380输出样例2:-83【代码】#include bits/stdc.h using namespace std; int main() { //该题的解题思路是将输入的数值n从个位开始拆分边拆分边加入到新的数据中同时新数要先左移一位*10再加入新拆出来的最低位数值。 int n; cinn; int s0;//存储反转之后的数据 //第一步因为不知道n是几位数所以可以使用while对n进行拆分一直拆分到n0. while(n!0) { //第二步没拆分出当前值的各位就将个位加入到s中同时将s*10也就是所有位数据向左移动1位 ss*10n%10; //第三步更新n将当前n的各位扔掉 n/10; } //第四步输出反转之后的数值 couts; return 0; }