微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

大数相加 + 方法1

void main() { char a[200],b[100],temp[100],temp1; int lena,lenb,i; int sum=0; gets(a); gets(b); strrev(a); strrev(b); lena=strlen(a); lenb=strlen(b); if(lenb > lena)   //两个大数进行比较,哪个小存在b数组中,大的在a数组中 { strcpy(temp,b); strcpy(b,a); strcpy(a,temp); temp1 = lena; lena = lenb; lenb = temp1; } for(i=0;i<lenb;i++)  //进位处理 { sum +=(a[i]-'0')+(b[i]-'0');    a[i] = sum%10 +'0'; sum /=10;   } if(sum != 0)   //最高位有进位 { for(;i<lena;i++) if(sum==0) break; else { sum+=a[i]-'0'; a[i] = sum%10+'0'; sum/=10; } if(i==lena && sum!=0) { a[i] = sum+'0';a[++i]='\0';} }  strrev(a);    //将数字最高位到低为  从前排到后 puts(a); }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐