把一个二进制数转化为十进制数。
输入格式
第一行一个正整数 (1≤n≤30),表示二进制数的长度。
第二行一个二进制数。
输出格式
输出一个整数,表示对应的十进制数。
Sample Input
5 10101
Sample Output
21
思路:定义数组,输入数组时注意换行符,利用定义换进制,输出十进制数
#include<stdio.h>
#include<math.h>
int main(void)
{
int n,s=0;
char a[30]; //定义数组
int i;
scanf("%d",&n); //输入长度
getchar(); //排除换行符
for(i=0;i<n;i++){ //输入数据
scanf("%c",&a[i]);
}
for(i=0;i<n;i++){ //二进制换十进制
if(a[i]=='1'){
s+=pow(2,n-i-1);
}else{
s+=0;
}
}
printf("%d",s); //输出十进制数
return 0;
}