首页 > 代码库 > 杭电1229 还是A+B

杭电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);	}}

  

杭电1229 还是A+B