一道VC的编程题,大家来看看我写的有啥不当的地方没

来源:百度知道 编辑:UC知道 时间:2024/06/28 15:47:46
题目要求:(这个是某学校考研复试题目)

读入两个小于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 <iostream>
using namespace std;
#define N 10

int add(int A,int B,int k)
{
int c=1;
for(;k>=1;k--)
c=c*10;
if(A%c==B%c)
return -1;
else
return A+B;
}

int main()
{
int num[N][3]={0xfffff};
int i=0,j=0;
int a=0;
do
{
cin>>num[i][0]>>num[i][1]>>num[i][2];
i++;
}while(num[i-1][1]!=0&&num[i-1][0]!=0);
i-=2;
for(;j<=i;j++)

#include <iostream>
#include <cmath>
using namespace std;

int main(void)
{
int A,B=-1,K;
while(1)
{
cin>>A>>B>>K;
if (A==0 && B==0) break;
cout<<(((A-B)%(int)pow(10,K))?A+B:-1)<<endl;
};
return 0;
}