标签:style io ar color os sp for on bs
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
#include<stdio.h> #include<string.h> char* addBinary(char a[], char b[]) { int na=strlen(a); int nb=strlen(b); int i,j,flag=0,k; int t1,t2,t3; int n=(na>nb)?na:nb; char c[100]="0"; for(i=na-1,j=nb-1,k=n-1;k>=0;i--,j--,k--){ if(i<0) t1=0; else t1=a[i]-48; if(j<0) t2=0; else t2=b[j]-48; t3=t1+t2+flag; if(t3>1) { t3=t3%2; flag=1; } else flag=0; c[k]=t3+'0'; } if(flag){ c[n+1]='\0'; for(k=n;k>0;k--) c[k]=c[k-1]; c[k]='1'; } else c[n]='\0'; return c; } void main(){ char a[]="110"; char b[]="10"; char *c=addBinary(a,b); int i; }
标签:style io ar color os sp for on bs
原文地址:http://blog.csdn.net/uj_mosquito/article/details/41447215