1002 A + B Problem II
来源:互联网 发布:论文数据造假会被发现 编辑:程序博客网 时间:2024/05/16 11:18
#include<iostream>#include<string>using namespace std;/* 一定不要这么写,因为没有把值传回去void max_L(string a, string b){string c;if (a.length() < b.length()){c = a;a = b;b = c;}}*/int main(){ int test, a_L, b_L,sum[10000];//测试次数,a,b的位数减一,和 int num = 0;//进位 string a, b;//a,b int num1, num2;//化成整型的每一位数 cin >> test; if (test >= 1 && test <= 20) { for (int i = 0; i < test; i++) { cin >> a >> b; cout << "Case " << i + 1 << ":" << endl;//C大写 cout << a << " + " << b << " = " ; //max_L(a, b); if (a.length() < b.length()) { string c; c = a; a = b; b = c; } a_L = a.length()-1; b_L = b.length()-1; int sum_L; for (sum_L = 0; sum_L <= b_L; sum_L++) { num1 = a[a_L-sum_L] - '0';//一定要转成数字,不然是字符,计算的第一个数应该是数组的最后一个 num2 = b[b_L-sum_L] - '0';//一定要转成数字,不然是字符 sum[sum_L] = (num1 + num2 + num) % 10;//sum是整型数组 num = (num1 + num2 + num) / 10; } for (sum_L = (b_L+1); sum_L <= a_L; sum_L++) { num1 = a[a_L-sum_L] - '0';//一定要转成数字,不然是字符 sum[sum_L] = (num1 + num) % 10; num = (num1 + num) / 10; } sum_L--;//循环完成多加了一个1,一定要减掉 if (num != 0) { sum_L++;//别忘了会多一位 sum[sum_L] = num; } num = 0;//本次循环完成一定要清零,否则下次循环还会用 for (int j = 0; j <= sum_L; j++) { cout << sum[sum_L - j]; } cout << endl; if (i < (test - 1)) { cout << endl; //最后一行不空行 } } } return 0;}
0 0
- 1002 A + B Problem II
- 1002 A + B Problem II
- 1002 A + B Problem II
- 1002 ( A + B Problem II )
- 1002 A + B Problem II
- 1002:A + B Problem II
- 1002 A + B Problem II
- 1002 A + B Problem II
- A + B Problem II (1002)
- 1002 A + B Problem II
- 1002 A + B Problem II
- [1002]: A + B Problem II
- 1002 A + B Problem II
- 1002 A + B Problem II
- 1002:A + B Problem II
- 1002 A + B Problem II
- Problem-1002 : A + B Problem II
- 【HDOJ】 <Problem - 1002> : A + B Problem II
- 【整理收集】电驴资源站整理
- http请求的响应码大全
- Qt--操作sqlite总结
- AC自动机专题——H
- Nginx安装手册
- 1002 A + B Problem II
- VS2012 C++/CLR 无法创建Windows窗体应用程序的解决方法
- java批处理程序分析
- C++多态详解
- JAVA 网络编程
- list<map<String ,object>>的使用
- 剑指offer 和为S的两个数字
- POJ2632Crashing Robots
- Mac上用终端使用mySQL