#include
#include
#include
#include
using namespace std;
int main(){
int i,k,x,n,j = 0,y,t = 1;
char a[2000],b[2000];
cin>>n;
while(n--){
cin>>a;
cin>>b;
k = strlen(a);
x = strlen(b);
cout<<"Case "<":"<" + "<" = ";
y = k;
for(i = k-1;x > 0;i--){
a[i] += b[x-1] - 48;
while(a[i-j] > 57){ //逢10进1
if(i-j == 0){ //如果是第一位大于10了,说明要进1位,开辟一个新的位置
while(y > 0){
a[y] = a[y-1]; //右移
y--;
}
a[y+1] -= 10; //第二位为相加后的那个数的个位数
a[y] = '1'; //进位后第一位必是1
j--; //因为数字右移了,所以计数器要和i的值****相持平,满足i-j==0,继续判断第1位是否需要再次进位
continue; //跳过下面代码,轮下一个循环
}
a[i-j] -= 10; //相当于减去一个10
a[i-1-j] += 1; //ASCLL码加1
j++; //继续往前寻找,看看有没有还要进位的数字
}
x--; //准备下一轮的数字相加
j=0; //重置寻找计数器
}
cout<0;
}
我简单试了一下 没问题啊 可以运行 当然 我没关注具体代码细节功能
这里你在输入的时候 要关注你源码中设置的输入相关格式才能正确的