思想:其实就是多增加了一个判断负数的情况。
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;
}