hdu 1002
发布时间:2020-12-14 03:42:25 所属栏目:大数据 来源:网络整理
导读:#include iostream#include cstring#include cstdio#include cstdlibusing namespace std;const int MAXN = 1010;void Reverse_Char(char* a){ int len = strlen(a)-1; int mid = len / 2; for(int i = 0; i = mid; ++i) { char tmp; tmp = a[i]; a[i] = a[l
#include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> using namespace std; const int MAXN = 1010; void Reverse_Char(char* a) { int len = strlen(a)-1; int mid = len / 2; for(int i = 0; i <= mid; ++i) { char tmp; tmp = a[i]; a[i] = a[len-i]; a[len-i] = tmp; } return ; } void Big_Num_Add(char* a,char* b) { char rr[MAXN]; Reverse_Char(a); Reverse_Char(b); char* pa = a; char* pb = b; int flag = 0; int pos = 0; int m = 0; while(*pa && *pb) { m = (*pa++ - 48) + (*pb++ - 48) + flag; rr[pos++] = m % 10 + 48; if(m >= 10) flag = 1; else flag = 0; } while(*pa) { if(flag) { m = *pa++ - 48 + flag; rr[pos++] = m%10 + 48; if(m >= 10) flag = 1; else flag = 0 ; } else rr[pos++] = *pa++; } while(*pb) { if(flag) { m = *pb++ - 48 + flag; rr[pos++] = m%10 + 48; if(m >= 10) flag = 1; else flag = 0; } else rr[pos++] = *pb++; } if(flag) rr[pos++] = flag + 48; rr[pos] = ' '; Reverse_Char(rr); int len = strlen(rr); pos = 0; while(rr[pos] == '0') pos++; for(;pos < len; pos++) cout<<rr[pos]; //cout<<endl; } int main() { char a[MAXN],b[MAXN]; int T; int kcase = 1; cin>>T; while(T--) { cin>>a>>b; cout<<"Case "<<kcase++<<":"<<endl; cout<<a<<" + "<<b<<" = "; Big_Num_Add(a,b); cout<<endl; if(T != 0 ) cout<<endl; } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |