原题网址:PTA | 程序设计类实验辅助教学平台
#include <bits/stdc++.h>
using namespace std;
void binaryToTen(char s[])
{
int sum=0;
int len=strlen(s);//s[0],s[1],s[2],......,s[len-1] 由高到低
sum=s[len-1] -'0';//把字符‘0’或‘1’转换形成数字0或者1
int w=2;
for(int i=len-2;i>=0;i--)
{
sum+=(s[i]-'0')*w;
w*=2;
}
cout<<sum<<endl;
}
int main()
{
char c[50];
while(cin>>c)
{
binaryToTen(c);
}
}