A+B(1003)

题目描述:                       

给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。

输入:                       
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。

输出:                       
请计算A+B的结果,并以正常形式输出,每组数据占一行。

样例输入:                       
-234,567,890 123,456,789
1,234 2,345,678
样例输出:                       
-111111101
2346912

--------------------------------------------------------------------------------

<span style="font-size:12px;">#include<stdio.h>
#include<string.h>
void main()
{
	char x[20],y[20];
	int a,b;
	int i,t,len1,len2;
	while(scanf("%s %s",x,y)!=EOF)
	{

		len1=strlen(x);
		len2=strlen(y);	
		a=0;
		b=0;
		for(i=len1-1,t=1;i>=0;i--)
		{
			if(x[i]==',')
				continue;
			if(x[i]=='-' && i==0)
			{
				a*=-1;
				break;
			}
			a+=(x[i]-48)*t;
			t*=10;
		}
              for(i=len2-1,t=1;i>=0;i--)
		{
			if(y[i]==',')
				continue;
			if(y[i]=='-' && i==0)
			{
				b*=-1;
				break;
			}
			b+=(y[i]-48)*t;
			t*=10;
		}
              printf("%d\n",a+b);

	}
}
</span>

--------------------------------------------------------------------------------

本题主要是逗号的分离。

如有不同意见,欢迎交流!

--------------------------------------------------------------------------------
 
来源:                        
2010年浙江大学计算机及软件工程研究生机试真题                           

猜你喜欢

转载自blog.csdn.net/u013004700/article/details/44203125
A+B