思路:这题要求将数字反着输出,我们首先考虑负数的情况,如果为负,则先输出一个负号,其次我们考虑原数字最后为0的情况,我们先统计0的个数,再从第一个不为0的数开始倒序输出,至此,一般的情况都考虑到了,但是我们还忽略了一种只有0的情况,所以再加入一种特殊判断即可。
#include<stdio.h>
#include<string.h>
int main() {
char a[100];
int j = 0;
gets(a);
int dis[2] = {0};设置标记数组
if (a[0] == '-') {
putchar('-'); //如果判断是负号,就先输出一个负号
dis[0]++;//记录
}
int size = strlen(a);
while (a[size - j - 1] == '0') {
dis[1]++;
j++;
}//用循环找出0的个数
if (size == 1 && a[0] == '0')
printf("0");
else {
for (int i = size - dis[1] - 1; i >= 0 + dis[0]; i--)
putchar(a[i]);
}
return 0;
}