/*
给定一个整数,
请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,
即除非给定的原数为零,
否则反转后得到的新数的最高位数字不应为零*/
这个题是难点在于如何消除翻转后处于开头的0
第一可以在数字尾部%10=0后直接消0
(即while(n%10=0)n/=10
第二就是我这样将每位数字都反转保存在数组中
再反转回来用while判断是否为0
如果是0就判断下一位
直到非0后输出
#include<stdio.h>
int main()
{
int n,a[11],i=0,count=0;
scanf("%d",&n);
if(n<0){
n=-n;
printf("-");
}
while(n>9){
a[i]=n%10;
n/=10;
i++;
count++;
}
a[i]=n;
i=0;
while(a[i]==0) i++;
for(;i<=count;i++) printf("%d",a[i]);
return 0;
}