山东理工ACM 1189 C语言实验——逆置正整数(升级版解法)
Time Limit: 1000 ms Memory Limit: 65536 KiB |
---|
Problem Description
输入一个三位正整数,将它反向输出。
Input
3位正整数。
Output
逆置后的正整数。
Sample Input
123
Sample Output
321
Hint
注意130逆置后是31
Source
crq
AC代码
这段代码能逆置所有正整数,只要不超过int的长度
#include <stdio.h>
int pow10(int x){ //10x次方
int a = 1;
while(x--)
a *= 10;
return a;
}
int main(){
int a,b = 0,temp;
int length = 0;
scanf("%d",&a);
temp = a;
if(temp){ //整数有多少位
while(temp /= 10)
length++;
length++;
}
while(length--){
b += a % 10 * pow10(length);
a /= 10;
}
printf("%d",b);
return 1;
}