-
个人简介
#include <iostream> using namespace std;
// 定义字符串变量s1和s2,用于存储输入的两个数字 string s1, s2; // 定义三个整型数组a, b, c,分别用于存储s1, s2的反转数字以及它们的和 int a[100005], b[100005], c[100005]; // 定义整型变量len1, len2用于存储s1, s2的长度,maxx用于存储最终结果的最大长度 int len1, len2, maxx;
int main() { // 输入两个字符串表示的数字 cin >> s1 >> s2; // 获取两个字符串的长度 len1 = s1.length(); len2 = s2.length(); // 将s1的字符转换为整数,并逆序存储在数组a中 for(int i = 0; i < len1; i++) a[i] = s1[len1 - i - 1] - '0'; // 将s2的字符转换为整数,并逆序存储在数组b中 for(int i = 0; i < len2; i++) b[i] = s2[len2 - i - 1] - '0'; // 初始化maxx为两个数字中较长的长度 maxx = max(len1, len2); // 计算a和b的对应位相加的结果,存储在c中 for(int i = 0; i < maxx; i++) c[i] = a[i] + b[i]; // 处理进位 for(int i = 0; i < maxx; i++) { c[i + 1] += c[i] / 10; c[i] %= 10; } // 如果最高位有进位,则增加maxx if(c[maxx] > 0) maxx++; // 去除结果前导0 while(maxx > 1 && c[maxx - 1] == 0) maxx--; // 逆序输出最终结果 for(int i = maxx - 1; i >= 0; i--) cout << c[i]; return 0; }
-
通过的题目
-
最近活动
题目标签
- 一本通编程启蒙
- 50
- 来源
- 28
- 顺序结构
- 26
- 基础语法
- 22
- 分支结构
- 12
- 循环结构
- 7
- 力扣
- 6
- 字符串
- 4
- STL
- 3
- 排序
- 2
- 小学生C++趣味编程
- 2
- 十进制与二进制转换
- 2
- stack
- 2
- 0101
- 2
- 循环
- 2
- 月考题
- 2
- 二分法
- 1
- 结构体
- 1
- 数组
- 1
- 数据结构
- 1