#include <iostream>
#include <cstring>
using namespace std;
int A[100000], B[100000], C[100000], lena, lenb, lenc, temp=0;
char a[100000], b[100000];
int main() {
cin >> a;
cin >> b;
lena = strlen(a);
lenb = strlen(b);
for (int i = 0; i < lena; i++) {
A[i] = a[lena - 1-i]-'0';
}
for (int i = 0; i < lenb; i++) {
B[i] = b[lenb - 1 - i] - '0';
}
lenc = max(lena, lenb);
for (int i = 0; i < lenc; i++) {
C[i] = A[i] + B[i] + temp;
if (C[i] > 9) {
temp = C[i] / 10;
C[i] %= 10;
}
}
if (temp != 0) {
C[lenc] = temp;
for (int i = lenc; i >= 0; i--) {
cout << C[i];
}
}
else {
for (int i = lenc - 1; i >= 0; i--) {
cout << C[i];
}
}
return 0;
}
```//这个高精加怎么删除前导0啊
#include <stdio.h>
#include <string.h>
#define MAXLEN 1000
char a1[MAXLEN];
char a2[MAXLEN];
static int v1[MAXLEN];
static int v2[MAXLEN];
static int v3[MAXLEN];
int i,j,n,L,z;
void main(void) {
scanf("%d",&n);
for (j=0;j<n;j++) {
scanf("%s%s",a1,a2);
L=strlen(a1);
for (i=0;i<L;i++) v1[i]=a1[L-1-i]-'0';
L=strlen(a2);
for (i=0;i<L;i++) v2[i]=a2[L-1-i]-'0';
for (i=0;i<MAXLEN;i++) v3[i]=v1[i]+v2[i];
for (i=0;i<MAXLEN;i++) {
if (v3[i]>=10) {
v3[i+1]+=v3[i]/10;
v3[i]=v3[i]%10;
}
}
printf("Case %d:\n", j+1);
printf("%s + %s = ", a1, a2);
z=0;
for (i=MAXLEN-1;i>=0;i--) {
if (z==0) {
if (v3[i]!=0) {
printf("%d",v3[i]);
z=1;
}
} else {
printf("%d",v3[i]);
}
}
if (z==0) printf("0");
printf("\n");
}
}
//Sample Input
//3
//0 0
//1 2
//112233445566778899 998877665544332211
//
//Sample Output
//Case 1:
//0 + 0 = 0
//Case 2:
//1 + 2 = 3
//Case 3:
//112233445566778899 + 998877665544332211 = 1111111111111111110
#include <bits/stdc++.h>
using namespace std;
string x,y;///用来保存输入
int a[550];//保存被加数
int b[550];//保存加数
int sum[550];
int main(){
cin >> x >> y;
int lenx = x.size();
int leny = y.size();
for(int i = 0;i < lenx; i++){
a[i] = x[lenx-i-1]-'0';
}
for(int i = 0;i < leny; i++){
b[i] = y[leny-i-1]-'0';
}
int l = max(lenx,leny);
for(int i = 0;i < l; i++){
sum[i] = a[i]+b[i];//模拟求和
}
for(int i = 0;i < l; i++){
sum[i+1] += sum[i]/10;//模拟进位
sum[i] %= 10;
}
if(sum[l] == 0){///判断我的最高位是否有进位,没有进位就删0
l--;
}
for(int i = l;i >= 0; i--){
cout << sum[i];
}
return 0;
}