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。