8进制转10进制,只是对应位的数不一样。
1 #include <string.h> 2 #include <stdio.h> 3 int n; 4 int d[]={0,1,2,0,3,4,5,6,0,7}; 5 int main(){ 6 while(scanf("%d",&n),n){ 7 int sum=0,b=1,nn=n; 8 while(n)sum+=d[n%10]*b,b*=8,n/=10; 9 printf("%d: %d\n",nn,sum); 10 } 11 return 0; 12 }