大数加法 hdu 1002
发布时间:2020-12-14 03:40:59 所属栏目:大数据 来源:网络整理
导读:换一种写法: #include iostream#include cstring#include cstdiousing namespace std;const int MAXN = 1010;void Big_Number_Add(char* a,char* b){char c[MAXN];int i;while(*a == '0')a++;while(*b == '0')b++;int len1 = strlen( a );int len2 = strlen
换一种写法: #include <iostream> #include <cstring> #include <cstdio> using namespace std; const int MAXN = 1010; void Big_Number_Add(char* a,char* b) { char c[MAXN]; int i; while(*a == '0') a++; while(*b == '0') b++; int len1 = strlen( a ); int len2 = strlen( b ); memset(c,sizeof(c)); for (i = 0; i < len1 || i < len2; ++i) { if(i < len1) c[i] += a[len1 - 1 - i] - '0'; if(i < len2) c[i] += b[len2 - i - 1] - '0'; if(c[i] >= 10) { c[i+1] = c[i] / 10; c[i] %= 10; } } len1 = len1 > len2 ? len1 : len2; if(c[len1] > 0) printf("%d",c[len1]); for (i = len1 - 1; i >= 0; --i) printf("%d",c[i]); } int main() { int kcase = 1; int T; char str1[MAXN],str2[MAXN]; cin>>T; while (T--) { memset(str1,sizeof(str1)); memset(str2,sizeof(str2)); cin>>str1>>str2; cout<<"Case "<<kcase++<<":"<<endl; cout<<str1<<" + "<<str2<<" = "; Big_Number_Add(str1,str2); cout<<endl; if(T!=0) cout<<endl; } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |