【题目描述】
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零,例如输入−380,反转后得到的新数为−83。
【输入】
输入共 1 行,一个整数N。
−1,000,000,000≤N≤1,000,000,000
【输出】
输出共 1 行,一个整数,表示反转后的新数。
【输入样例】
123
【输出样例】
321
【提示】
【输入输出样例 2】
输入:
-380
输出:
-83
#include<stdio.h> #include<string.h> int main() { char a[100]; char b[100]; scanf("%s", a); int len = strlen(a); int i,j; if (a[0] == '-') { b[0] = '-'; for (i = len - 1, j = 1; i >= 0; i--,j++) { b[j] = a[i]; } for (i = 1; i <= len - 1; i++) { if (b[i] != '0') { break; } } printf("%c", b[0]); for (j = i; j <= len - 1; j++) { printf("%c", b[j]); } } else { for (i = len - 1, j = 0; i >= 0; i--, j++) { b[j] = a[i]; } for (i = 0; i <= len - 1; i++) { if (b[i] != '0') { break; } } for (j = i; j <= len - 1; j++) { printf("%c", b[j]); } } return 0; }
一本通 1089:数字反转
最新推荐文章于 2023-10-20 16:55:06 发布