L1-025. 正整数A+B-PAT团体程序设计天梯赛GPLT

先来表示一下对 柳婼的感谢:https://blog.csdn.net/liuchuo/article/details/51985763
今天好几次样例有没通过的,看了她的题解之后慢慢都找到了问题出在哪里。
总结:
1.写东西有重复的地方就写一个函数,修改快。
2.B不是空字符串不代表A不是空字符串。
3.A和B用空格隔开不代表B会和之后的字符也用空格隔开,<==>空格之后的都属于B
#include
#include
#include
#include
#include
#include
using namespace std;
long long r1=0;//因为担心超出int范围——“可能是超出范围的数字”
int flag=1;//判断最终答案是否正常
void opt(char *s)
{
	int i;
	long long ans;
	for(i=0;i='0'&&s[i]<='9');//其实用!=比较好
		else 
		break;//不写break会出毛病的
	}
	if(i==strlen(s))
	{
		ans=atol(s);
		if(ans>=1&&ans<=1000)
                    //范围判断,注意ans是有必要的,如果ans>INT_MAX,
                //ans=atol(s);会出问题的
{r1+=ans;cout<

你可能感兴趣的:(刷题)