|
|
发表于 2013-9-29 00:41:31
|
显示全部楼层
#include<stdio.h>
void main()
{
char c[18];//定义个可以装18个字符的一位数组
int a[18][4]={0};//二维数组
int i=0,j;
scanf("%s",c);//输入字符串给c数组
while(c[i]) //把c内的字符转换为对应的数字 比如0》0 9》9 a》10 b》11
{
if(c[i]>='0'&&c[i]<='9')
c[i]=c[i++]-48;
else if(c[i]>='A'&&c[i]<='Z')
c[i]=c[i++]-55;
else if(c[i]>='a'&&c[i]<='z')
c[i]=c[i++]-87;
else
{
puts("error\n");
return;
}
}
i=0;
while(c[i]) //把数字转化为4位的二进制数,并输出
{
for(j=3;j>=0;j--)
{
a[i][j]=c[i]%2; //取余
c[i]/=2; //除
}
for(j=0;j<4;j++)
printf("%d",a[i][j]);
i++;
}
} |
|