描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入
输入共 1 行,一个整数N。
-1,000,000,000 ≤ N≤ 1,000,000,000。
输出
输出共 1 行,一个整数,表示反转后的新数。
#include <stdio.h>
#include <string.h>
int main() {
int temp;
scanf("%d", &temp);
char str[20] = { '\0' };
sprintf(str, "%d",temp); //将数字转换为字符串
if (temp == 0) {
printf("0");
}
if(temp>0)
{
int flag = 0;
for (int i = strlen(str) - 1; i >= 0; i--)
{
if (str[i] == '0' && flag == 0) //flag用于防止中间的0打印不出
{
continue;
}
printf("%c", str[i]);
flag = 1;
}
}
if(temp<0){
int flag = 0;
printf("-");
for (int i = strlen(str) - 1; i >= 1; i--)
{
if (str[i] == '0' && flag == 0)
{
continue;
}
printf("%c", str[i]);
flag = 1;
}
}
return 0;
}