求教二进制转十进制
题目很简单,就是把一个二进制数转换为十进制数,然后输出。Input Description
多组测试数据,第一行一个正整数 n (n<=1000),表示后面有 n 组测试数据,每组一行。
接下来有 n 行,每行为一个不超过32位的二进制数。
Output Description
对每组测试数据,在一行中输出对应的十进制数。
Sample Input
2
0111
1111
Sample Output
7
15
我的代码运行正确,但提交错误,谁能帮我指一下错误
#include <stdio.h>
int main(void)
{
int n;
int a,b;
int p,i;
int add,c;
scanf("%d",&c);
for(i=0;i<c;i++)
{
scanf("%d",&n);
b=1;
add=0;
while(n!=0){
a=n%10;
p=a*b;
b*=2;
n=n/10;
add=add+p;
}
printf("%d\n",add);
}
return 0;
}