C語言實現整數反轉-簡練演算法
阿新 • • 發佈:2018-12-26
今天做實驗題 實現整數反轉用了pow函式,把自己坑了,pow返回值是double型,而程式中的變數全是int型。
之後知道了不用pow函式的方法,特此記錄。
思路: 先求出n的位數用i記錄,之後再加權求和。
#include <stdio.h> #include <stdlib.h> int main() { int i,n,m; while(scanf("%d",&n)!=EOF) { i=1;m=0; while(n/i) i*=10; while(i) { i/=10; m+=i*(n%10); n/=10; } printf("%d\n",m); } return 0; }
之後賀神又優化出了只用一個迴圈的方法,很不錯的方法
如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,m;
while(scanf("%d",&n)!=EOF)
{
m=0;
while(n)
{
m=m*10+n%10;
n/=10;
}
printf("%d\n",m);
}
return 0;
}