思想:其实就是多增加了一个判断负数的情况。
1、判断输入的数字是否是负数,如果是负数,把它转换成正数。
2、逐个处理num的每一位数字,并构建倒序的数
temp = num % 10; // 获取最后一位数字
reversed = reversed * 10 + temp; // 添加到reversed的末尾
num /= 10; // 去掉最后一位数字
#include <stdio.h>
#include <stdlib.h>
int main() {
int num, reversed = 0, temp, sign = 1;
// 读取输入的数字
printf("请输入一个整数: ");
scanf("%d", &num);
// 如果数字是负数,则标记sign为-1,并将num转换为正数
if (num < 0) {
sign = -1;
num = -num; // 转换为正数
}
// 逐个处理num的每一位数字,并构建倒序的数
while (num != 0) {
temp = num % 10; // 获取最后一位数字
reversed = reversed * 10 + temp; // 添加到reversed的末尾
num /= 10; // 去掉最后一位数字
}
// 输出结果,如果sign为-1,则在前面添加'-'
if (sign == -1) {
printf("%d-\n", reversed);
} else {
printf("%d\n", reversed);
}
return 0;
}