写一个函数,实现将输入的int型逆转。如输入123,输出321。
\#include \<iostream\>\
\
using std::cout;\
using std::endl;\
using std::cin;\
\
int AtoI( const char \*str ){\
int sum = 0;\
int c, sign;\
\
if( !str ) return sum;\
\
c = (int)(unsigned char)\*str++;\
sign = c;\
\
//skip sign\
if( c == '-' || c == '+' )\
c = (int)(unsigned char)\*str++;\
\
while( isdigit(c) ){\
sum = (sum\<\<3) + (sum\<\<1) + (c - '0'); // sum = sum\*10 + (c - '0');\
c = (int)(unsigned char)\*str++;\
}\
if( sign == '-' )\
return -sum;\
else return sum;\
}\
char \*ReverseItoA( int num, char \*szStr, int radix ){\
if( !szStr ) return NULL;\
\
char \*p = szStr;\
if( num \< 0 ){\
\*p++ = '-';\
num = -num;\
}\
\
while( num ){\
\*p++ = num%radix + '0';\
num /= radix;\
}\
\*p = '\\0';\
\
return szStr;\
}\
int ReverseInt( int num ){\
char szStr[33];\
// itoa和atoi其中一个翻转就行了,ItoA的时候翻转就行了.\
ReverseItoA( num, szStr, 10 );\
return AtoI( szStr );\
}\
int main(){\
int num;\
cin \>\> num;\
cout \<\< ReverseInt( num ) \<\< endl;\
}