我想用c语言写一个二进制数加一个二进制数,输出的答案仍然是二进制数的程序……
展开全部
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "string.h"
int main(void){
char a[34],b[34],i,j,*ps,*pl;
printf("Input 2 binary numbers(No 0 1 end)...\n");
while(*a=*b='0',scanf(" %[01] %[01]",a+1,b+1)>0){
(strlen(a+1)>=strlen(b+1)) ? (pl=a,ps=b) : (pl=b,ps=a);
printf("%s + %s = ",a+1,b+1);
for(i=strlen(pl+1),j=strlen(ps+1);j>0;j--,i--)
if((pl[i]+=ps[j]-'0')>'1')
pl[i]-=2,pl[i-1]++;
for(;i>0;i--)
if(pl[i]>'1')
pl[i]-=1,pl[i-1]++;
else break;
printf("%s\n\n",*pl!='0' ? pl : pl+1);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询