【ZOJ】1001A + B Problem

2019-11-08 01:03:02 浏览数 (1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://cloud.tencent.com/developer/article/1535043

今天做PAT看见一个特别炫酷的一栏,就做了一道题。。。。

A B Problem

Time Limit: 2000 msMemory Limit: 65536 KB

Calculate a b

Input

The input will consist of a series of(原谅我英文不好,没看到这个) pairs of integers a and b,separated by a space, one pair of integers per line.

Output

For each pair of input integers a and b you should output the sum of a and b in one line,and with one line of output for each line in input.

Sample Input

代码语言:javascript复制
1 5

Sample Output

代码语言:javascript复制
6

Hint

Use operator

Sample Program Here

答案先放出来

代码语言:javascript复制
#include<iostream>
using namespace std;
int main()
{
  int  a,b;
    while(cin>>a>>b)
    {printf("%dn",a   b);
    }
    return 0;
}

我没看到 一系列输入所以以为是个大数计算,所以错了

特地整了个string类型的加法,当然瞎写的,暴力书写很烂还是没有过

代码语言:javascript复制
#include<iostream>
using namespace std;
int main(){
  string a,b;
  
  
  int c=a.length()>b.length()? b.length():a.length();
  int d=a.length()<b.length()? b.length():a.length();
  int count=0;
  string s;
  for(int i=0;i<d;i  ){
  	if(a.length()>i){
  		count =a[a.length()-i-1]-'0';
	  }if(b.length()>i){
	  	count =b[b.length()-i-1]-'0';
	  }
  	char o=(count '0');
  	s=o s;
  	count=count/10;
  
  if(count>0){
  	s =(count '0');
  }
  cout<<s<<endl;
}
  return 0;
}

后来我看 别人答案 才意识到是有 a series of 就改成了,卡在while循环超时了

代码语言:javascript复制
#include<iostream>
using namespace std;
int main()
{
  int  a,b;
    while(scanf("%d %d",&a,&b))
    {printf("%dn",a   b);
    }
    return 0;
}

换成cin就可以了

代码语言:javascript复制
#include<iostream>
using namespace std;
int main()
{
  int  a,b;
    while(cin>>a>>b)
    {printf("%dn",a   b);
    }
    return 0;
}

后来又查了资料,scanf的返回值比较EOF就行了

scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。 因为浙大的oj是文件读入,那就判断EOF呗, 开始想的是读入错误应该是返回0,就跳出while了,但是仍然会卡在while (其实自己不用文件读写的时候都没有跳出while循环....)

代码语言:javascript复制
#include<iostream>
using namespace std;
int main()
{
  int  a,b;
    while(scanf("%d %d",&a,&b)!=EOF)
    {printf("%dn",a   b);
	}
    return 0;
}

反正不管啥吧,随便看看还学了一个知识点

0 人点赞