HDU 3787 A+B

水题

http://acm.hdu.edu.cn/showproblem.php?pid=3787

关键点:1)整数范围表示所需要的字符串长度。

2)字符串转化为整数的函数。

看代码

#include <stdio.h>
#define MAX_ARRAY 16
int StringToNum(char *str);

int main()
{
char Aarray[MAX_ARRAY],Barray[MAX_ARRAY];

while(scanf("%s%s",Aarray,Barray)!= EOF)
{
//printf("%s\t%s\n",Aarray,Barray);
int a = StringToNum(Aarray);
int b = StringToNum(Barray);
//printf("a = %d\t b = %d\n",a,b);
printf("%d\n",a+b);
}
return 0;
}

int StringToNum(char *str)
{
int sign = 1;
char ch;
int ret = 0;
if(*str == '-')
{
sign = -sign;
++str;
}
while(ch = *str)
{
if((ch >='0')&&(ch <='9'))
ret = ret *10 + ch -'0';
++str;
}
return sign > 0 ? ret:-ret;
}

注意:while中scanf结束的条件判断为!=EOF。

posted @ 2012-03-17 15:02  westfly  阅读(290)  评论(0编辑  收藏  举报