算法收集系列
来源:互联网 发布:淘宝网一次性丁腈手套 编辑:程序博客网 时间:2024/06/06 10:59
- 实现一个加法器,保证两个加数是任意长的整数。
- #include <iostream>
- #include <string>
- using namespace std;
- string Addition(string one, string two);
- int main()
- {
- int n, i;
- string first, second;
- cout << "Please enter two numbers: ";
- cin >> first >> second;
- cout << "The result is: " << Addition(first, second) << endl;
-
- system("pause");
- }
- string Addition(string one, string two)
- {
- int j, max;
-
- int flen, slen;
- string sum;
- flen = one.size();
- slen = two.size();
- if(flen >= slen)
- {
- sum = one;
- for(j=0;j<slen;j++)
- sum[flen-j-1] = sum[flen-j-1] + two[slen-j-1] - '0';
- max = flen;
- }
- else
- {
- sum = two;
- for(j=0;j<flen;j++)
- sum[slen-j-1] = sum[slen-j-1] + one[flen-j-1] - '0';
- max = slen;
- }
-
- for(j=max-1;j>=1;j--)
- {
- if(sum[j] > '9')
- {
- sum[j] -= 10;
- sum[j-1]++;
- }
- }
- if(sum[0] > '9')
- {
- sum[0] -= 10;
- sum = "1" + sum;
- }
- return sum;
- }