杭电oj---输入输出练习

啊啊啊啊竟然过了一个月没继续,太恐怖了

1000 A+B杭电oj---输入输出练习_第1张图片

#include
using namespace std;
  int main(){
     
  int a ,b;
  while(scanf("%d %d",&a,&b)!=EOF){
     
  printf("%d\n",a+b);
  }
return 0;
}

主要是输入遇文件尾的EOF练习
参照博客EOF用法

1089 A+B(按行)

杭电oj---输入输出练习_第2张图片

#include
using namespace std;
int main(){
     
	int a ,b;
	while(scanf("%d %d",&a,&b)!=EOF){
     
		printf("%d\n",a+b);
	}
	return 0;
} 

1090 A+B(按行,前面有个n)

杭电oj---输入输出练习_第3张图片

#include
using namespace std;
int main(){
     
	int a ,b,n;
	scanf("%d",&n);
	while(n--){
     
	   scanf("%d %d",&a,&b)	;
	   printf("%d\n",a+b);
	}
	return 0;
} 

1091 A+B(按行,00结尾)杭电oj---输入输出练习_第4张图片

#include
using namespace std;
int main(){
     
	int a ,b;
	scanf("%d %d",&a,&b);
	while(a||b){
     
		printf("%d\n",a+b);
		scanf("%d %d",&a,&b);
	}
	return 0;
} 

1092 A+B(按行n输入,0结尾)

杭电oj---输入输出练习_第5张图片

#include
using namespace std;
int main(){
     
	int a ,b,n,sum=0;
	scanf("%d",&n);
	while(n){
     
		while(n--){
     
	    scanf("%d",&a);
	    sum+=a;
 	   }
	printf("%d\n",sum);
	scanf("%d",&n);	
	sum=0;
	} 
	return 0;
} 

1093 A+B(指定m行,按行n输入)杭电oj---输入输出练习_第6张图片

#include
using namespace std;
int main(){
     
	int a ,b,n,m,sum=0;
	scanf("%d",&m);
	while(m--){
     
		scanf("%d",&n);
		while(n--){
     
	    scanf("%d",&a);
	    sum+=a;
 	   }
	printf("%d\n",sum);
	sum=0;
	} 
	return 0;
} 

1094 A+B(按行n输入,如何结束?)杭电oj---输入输出练习_第7张图片

看到这么有点懵,怎么结束的?题目也没说end of file
好吧事实证明就是文件尾结束

#include
using namespace std;
int main(){
     
	int a ,b,n,sum=0;
	while(scanf("%d",&n)!=EOF){
     
		while(n--){
     
	    scanf("%d",&a);
	    sum+=a;
 	   }
	printf("%d\n",sum);
	sum=0;
	} 
	return 0;
} 

1095 A+B(按行2输入,每行输出加空行)杭电oj---输入输出练习_第8张图片

#include
using namespace std;
int main(){
     
	int a ,b;
	while(scanf("%d %d",&a,&b)!=EOF){
     
	   printf("%d\n\n",a+b);
 	   }

	return 0;
} 

1096 A+B(指定m行,按行n输入,每行输出加空行)杭电oj---输入输出练习_第9张图片

这里注意最后一行是没有空行的

#include
using namespace std;
int main(){
     
	int a ,b,n,m,sum=0;
	scanf("%d",&m);
	while(m--){
     
		scanf("%d",&n);	
		while(n--){
     
	    scanf("%d",&a);
	    sum+=a;
 	   }
	printf("%d\n",sum);
	if(m)  printf("\n",sum);
	sum=0;
	} 
	return 0;
} 

1001 1-n求和杭电oj---输入输出练习_第10张图片

这题也太坑了!!!!!!!
题目说最后的结果在int范围内,没说中间过程也在int内,所以!!!!!!不能用a*(1+a)/2!!!!!用了就会一直WA(人生好难)。所以要先除以二

#include
using namespace std;
int main(){
     
    int a;
	while(scanf("%d",&a)!=EOF){
     
		if(a%2==0)
		printf("%d\n\n",a/2*(1+a));
		else
		printf("%d\n\n",(1+a)/2*a);
	
	}
	return 0;
} 

你可能感兴趣的:(算法,c++)