hdoj 1002 A + B Problem II(大数加法)
2017-11-16 18:10
501 查看
1002 A + B Problem II
可用作大数加法模板#include<bits/stdc++.h> using namespace std; const int maxn = 1050; char a[maxn],b[maxn],c[maxn]; void ADD(char *str1,char *str2,char *str3) { int i,j,i1,i2,tmp,carry; //carry用来判断进位 int len1,len2; len1 = (int)strlen(str1); len2 = (int)strlen(str2); char ch; i1 = len1 - 1; i2 = len2 - 1; j = carry = 0; for(; i1>=0&&i2>=0; ++j,--i1,--i2)//倒序相加 { tmp=str1[i1]-'0'+str2[i2]-'0'+carry; carry=tmp/10; str3[j]=tmp%10+'0'; } while(i1>=0) { tmp=str1[i1--]-'0'+carry; carry=tmp/10; str3[j++]=tmp%10+'0'; } while(i2>=0) { tmp=str2[i2--]-'0'+carry; carry=tmp/10; str3[j++]=tmp%10+'0'; } if(carry) { str3[j++]=carry+'0'; } str3[j]='\0'; for(i=0,--j;i<j;++i,--j)//翻转 { ch = str3[i]; str3[i] = str3[j]; str3[j] = ch; } } int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%s %s",&a,&b); if(i!=1) printf("\n"); ADD(a,b,c); printf("Case %d:\n",i); printf("%s + %s = %s\n",a,b,c); } return 0; }
相关文章推荐
- hdoj 1002 A + B Problem II【大数加法】
- hdoj 1002 A + B Problem II 【大数加法模板】
- HDOJ1002 A + B Problem II(大数加法)
- hdu1002 A + B Problem II(大数加法一)模板
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
- HDOJ 1002 A + B Problem II ( 大数相加)
- Hdu oj 1002 A + B Problem II(大数加法)
- hdoj1002 A + B Problem II(简单的大数处理)
- HDOJ 1002 A + B Problem II(大数A+B)
- [HDOJ1002] A + B Problem II 高数度加法运算
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
- 【hdoj1002】 A + B Problem II(模拟加法)
- HDOJ 1002 A + B Problem II(大数相加)
- HDOJ1002 A + B Problem II(大数)
- HDOJ1002 A+B Problem II(高精度/大整数加法)
- HDU 1002 A + B Problem II(大数加法,C,Java两个版本)
- java练习第二天hdoj1002-A + B Problem II【大数】
- A + B Problem II(大数加法hd1002)
- hduoj1002,A + B Problem II, 大数加法,经典
- hdu 1002 A + B Problem II(大数模拟加法)