还是A+B
运行时间限制:1000MS          运行内存限制:65536KByte
总提交:14            测试通过:3
时间限制(Java):10000MS       

题目描述

读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。 

输入

测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。

输出

对每个测试用例输出1行,即A+B的值或者是-1。

样例输入

1 2 1
11 21 1
108 8 2
36 64 3
0 0 1

样例输出

3
-1
-1
100

下面是我的程序,提交通不过啊,哪位大侠帮忙看看,哪里有问题
#include<stdio.h>
void r(int n,int *a)

   int i=0;
   while(n)
   {  a[i++]=n%10;
      n=n/10;}
}
int main()
{ int m,n,k,a[8]={0},b[8]={0};
   int i;
   while(1)
   { scanf("%d%d%d",&m,&n,&k);
     if(m==0&&n==0) break;
     r(m,a);r(n,b);
     i=0;
      while(i<k)
      {if(a[i]==b[i])  i++;
         else break;
      }
      if(i==k) printf("-1\n");
          
       else   printf("%d\n",m+n);    
   }
   return 0;
}