杭电1229 还是A+B

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1229

解题思路,最开始想的是把输入的数据存入数组中,比如输入 1,在数组中就储存为1000(因为数据不超过10000,所以四位数字就够了),然后再对数组进行处理,使它变成0001,这样就可以方便的比较末尾数字,后来觉得这样做其实还更麻烦,所以就是把它当作一个整型数据输入的来做的。

#include<stdio.h>

int main()

{

	int a,b,k;

	while(scanf("%d %d %d",&a,&b,&k)!=EOF&&a&&b)

	{

		int s[8],t[8];

		int i,num=0;

		s[0]=a%10;

		s[1]=a/10%10;

		s[2]=a/100%10;

		s[3]=a/1000%10;

		s[4]=0;

		s[5]=0;

		s[6]=0;

		s[7]=0;

		t[0]=b%10;

		t[1]=b/10%10;

		t[2]=b/100%10;

		t[3]=b/1000%10;

		t[4]=0;

		t[5]=0;

		t[6]=0;

		t[7]=0;

		for(i=0;i<k;i++)

		{

			if(s[i]==t[i])

				num++;

		}

		if(num==k)

			printf("-1\n");

		else

			printf("%d\n",a+b);

	}

}

  

你可能感兴趣的:(杭电)