#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> char s[10001];//s为输入的八进制 char t[1]; char n[10001]; int main() { scanf("%s",&s); int len = strlen(s);//获取八进制的长度 long long i,j; long long x,sum=0; for(i=0;i<len;i++){ x=s[i]-'0'; for(j=1;j<=len-i-1;j++){ x=x*8; } sum+=x; //此时sum为整型 } if(sum==0){ printf("%d",0); return 0; } while(sum!=0){ t[0]=sum%2+'0'; //t[0]为字符型 strcat(n,t); //拼接字符串 sum/=2; } for(i=strlen(n)-1;i>=0;i--){ printf("%c",n[i]); } return 0; } /************************************************************** Problem: 1359 User: admin Language: C Result: Accepted Time:16 ms Memory:1164 kb ****************************************************************/