#include <stdio.h> #include<stdlib.h> #include <string.h> char*
addBinary(char* a, char* b) { int n1,n2,i,j,k,fab=0,g; char* c,*d;
n1=strlen(a); n2=strlen(b); if(n1>=n2) { g=k=n1-1; d=(char*)malloc(k+2);
strcpy(d,a); } else if(n1<n2) { g=k=n2-1; d=(char*)malloc(k+1); strcpy(d,b); }
c=(char*)malloc(k+2); for(i=n1-1,j=n2-1;i>=0&&j>=0;i--,j--,k--) {
if((a[i]-'0')+(b[j]-'0')+fab==0||(a[i]-'0')+(b[j]-'0')+fab==1) {
c[k]=a[i]+b[j]+fab-'0'; fab=0; } else if((a[i]-'0')+(b[j]-'0')+fab==2) {
c[k]='0'; fab=1; } else if((a[i]-'0')+(b[j]-'0')+fab==3) { c[k]='1'; fab=1; } }
for(;k>=0;k--) { c[k]=d[k]+fab; if(c[k]=='2') { c[k]='0'; fab=1; } else fab=0;
} if(fab==1) { for(i=g;i>=0;i--) { c[i+1]=c[i]; } c[0]='1'; }
for(i=0;i<=g+1;i++) { if(c[i]!='0'&&c[i]!='1') { c[i]='\0'; } } return c; } int
main() { char a[]="10011",b[]="10000011"; printf("%s",addBinary(a,b)); return
0; } </textarea>
测试用例最后一个测试的时候是对的,提交就溢出了

技术
©2019-2020 Toolsou All rights reserved,
Fiddler模拟请求发送和修改响应数据在vue+element-ui中,select选项值动态从后台获取,同时将选中值的id传给后台的方法python中switch_to_alert的用法(精华)2020年8月9日 C#基础知识点 反射(精华)2020年7月12日 webpack 常见插件的使用element-ui+vue-treeselect下拉框的校验【答学员问】你们从培训机构毕业后都找到什么工作?【Python-数据读取】读取txt文件每一行数据生成列表基于STM32红外避障小车的设计(有代码)Spark SQL-编程