大数加法
思路:1.将两个大数分别存入两个字符串数组中,倒序放入两个整型数组中。
2.在加法运算时,一一对应相加放入ans[ ],满十进一,记录len_ans。
3.判断要不要保留最高位。
int temp_a[1005]; int temp_b[1005]; int ans[1005] = {0}; void add(string a, string b){ int len_a = 0; for(int i = a.length() - 1; i >= 0; i--){ temp_a[len_a++] = a[i] - '0'; } int len_b = 0; for(int i = b.length() - 1; i >= 0; i--){ temp_b[len_b++] = b[i] - '0'; } int len = (len_a > len_b)? len_a : len_b; int k = 0; for(int i = 0; i < len ; i++){ ans[k] += (temp_a[i] + temp_b[i]) % 10; ans[k + 1] += (temp_a[i] + temp_b[i]) / 10; k++; } if(ans[k] != 0){ cout << ans[k]; } for(int i = k - 1; i>= 0; i--){ cout << ans[i]; } cout << endl; }