题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入描述
共一行,一个整数N
输出描述
共一行,一个整数,表示反转后的新数。
样例输入 1
123
样例输出 1
321
样例输入 2
-380
样例输出 2
-83
代码及思路:
#include<stdio.h> //头文件
int numOverturn(int N);
int main(void){
int N;
scanf("%d",&N); //输入数据N
/*
若输入的N大于0,则将N赋值给函数中形参
若输入的N小于0,则将N取反后再赋值给函数中的形参
*/
if(N>=0){
printf("%d",numOverturn(N)); //调用函数
}else{
N=-N;
printf("%d",-numOverturn(N)); //调用函数
}
return 0;
}
int numOverturn(int N){ //N 用来接收输入的数据
int temp,newNum=0;
while(N!=0){ //N等于0时,
temp=N%10; //每次都获取最低位
newNum=newNum*10+temp; //获得翻转的数据
N=N/10; //去掉最低位
}
return newNum; //返回翻转后的数据
}