进制转换
一.九进制转化为十进制
#include<stdio.h> int main() { int num,i=0,m=1,j,k,s=0,a[10]={0}; scanf("%d",&num); while(num>0) { a[i]=num%10; num/=10; i++; } for(j=0;j<=i;j++) { m=1; for(k=1;k<=j;k++) m=m*9; if(a[j]<=3) s+=a[j]*m; if(a[j]>4) s+=(a[j]-1)*m; } printf("%d\n",s); return 0; }
二.二进制转化为十进制
#include<stdio.h> #include<string.h> #define N 40 int main() { char str[N]; int i,d=0; gets(str); for(i=0;str[i]!='\0';i++) d=d*2+(str[i]-'0'); printf("%d",d); return 0; }
三.十进制转化为二进制
#include<stdio.h> int main() { int n,i=0,j,a[32]; scanf("%d",&n); while(n>0) { a[i]=n%2; i+=1; n/=2; } for(i--;i>=0;i--) printf("%d",a[i]); printf("\n"); return 0; }
生活简单 尽力而为