输入样例:2x1213s4s60340a5102304511
输出样例:110010011:403
备注:只考虑无符号整数,即不考虑负数补码的问题,过滤下来的二进制数一律按无符号整数处理即可
本人小白,学习没多久,这个题不太会做了,不知道怎么
#include <stdio.h> #include <math.h> int main() { char p[80]; int i,j=0,num = 0; gets(p); for(i=0;i<strlen(p);i++) { if(p[i]=='0'||p[i]=='1') { p[j]=p[i]; j++; } p[j]='\0'; } for(i=strlen(p)-1;i>=0;i--) num+=p[i]*pow(2,i); printf("%d",num); }
#include <stdio.h> #include <math.h> int main() { char p[80]; int i,j=0,num=0; gets(p); for(i=0;i<strlen(p);i++) { if(p[i]=='0'||p[i]=='1') { p[j]=p[i]; j++; } p[j]='\0'; } for(j=strlen(p)-1;j>=0;j--) num+=p[j]*pow(2,j); printf("%d",num); }