|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Problem A: 二进制整数转十进制Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 2745 Solved: 969
[Submit][Status][Web Board]Description给出一个二进制的非负整数x,x<232,把它转换成十进制数输出。
Input输入为多行,每行一个二进制非负整数x。
Output每行输出x对应的十进制数值。
Sample Input0 1 01 10 11 100001 1111111111111111
Sample Output0 1 1 2 3 33 65535
HINT
注意数据范围!!!
Append Code
我的程序:
#include<stdio.h>
int ji(int j){
int i,x=1;
for(i=1;i<j;i++){
x=x*2;
}
return x;
}
int main(void)
{
char a[10000];
unsigned long long y,z;
int i,j,x;
while(~scanf("%s",&a)){
z=0;
for(i=0;;)
if(a[i++]!='0')
break;
for(j=0;;)
if(a[j++]==0)
break;
for(x=j-2;x>=0;x--){
y=(a[x]-'0')*ji(j-x-1);
z+=y;
}
printf("%llu\n",z);
}
return 0;
}
老是不对,请问为什么?
求指点,感谢
|
|