ACM输入五种形式

A+B for Input-Output Practice (I)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 120237    Accepted Submission(s): 65583

Problem Description
Your task is to Calculate a + b.
Too easy?! Of course! I specially designed the problem for acm beginners. 
You must have found that some problems have the same titles with this one, yes, all these problems were designed for the same aim. 
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
1 5 10 20
Sample Output
6 30
 分析:输入不说明有多少组输入,以EOF为结束标志。
 
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
 	int a, b;
 	while(cin>>a>>b)
	{
  		cout<<a+b<<endl;
 	}
	return 0;
}
//说明:
(1)此类输入解决方案
C语法:
while(scanf("%d %d",&a,&b)!=EOF){
 ...
}
C++语法:
while(cin>>a>>b){
    ...
}
(2)scanf函数返回值就是读出的变量个数,如:scanf("%d %d",&a,&b);
如果只有一个整数输入,返回值是1;如果有两个整数输入,返回值是2;如果
一个都没有,则返回值是1。
(3)EOF是一个预定义的常量,等于-1。

A+B for Input-Output Practice (II)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 90417    Accepted Submission(s): 58329

Problem Description
Your task is to Calculate a + b.
Input
Input contains an integer N in the first line, and then N lines follow. Each line consists of a pair 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
2 1 5 10 20
Sample Output
6 30
分析:输入一开始会说输入组个数N,下面接着是N组输入中每组要输入的整数a和b.
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
 	int N, i, a, b;
 	cin>>N;
 	for(i = 0; i < N; i++)
	 {
  		cin>>a>>b;
  		cout<<a+b<<endl;
 	}
}
说明:
此类输入解决方案如下:
C语法:
scanf("%d",&n);
for(i = 0; i < n; i++){
 ...
}
C++语法:
cin>>n;
for(i = 0; i < n; i++){
 ...
}

A+B for Input-Output Practice (III)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 101171    Accepted Submission(s): 53345

Problem Description
Your task is to Calculate a + b.
Input
Input contains multiple test cases. Each test case contains a pair of integers a and b, one pair of integers per line. A test case containing 0 0 terminates the input and this test case is not to be processed.
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
1 5 10 20 0 0
Sample Output
6 30
分析:输入不说明有多少个输入组,但以某个特殊输入跳过,并不是结束
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
 	int a,b;
 	while((cin>>a>>b)&&(a!=0||b!=0))
	{
 		 cout<<a+b<<endl;
 	}
} 
说明:此类输入解决方案
C语法:
while(scanf("%d",&n)&&n!=0){
 ...
}
C++语法:
while(cin>>n&&n!=0){
 ...
}

A+B for Input-Output Practice (IV)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 92857    Accepted Submission(s): 49562

Problem Description
Your task is to Calculate the sum of some integers.
Input
Input contains multiple test cases. Each test case contains a integer N, and then N integers follow in the same line. A test case starting with 0 terminates the input and this test case is not to be processed.
Output
For each group of input integers you should output their sum in one line, and with one line of output for each line in input. 
Sample Input
4 1 2 3 4 5 1 2 3 4 5 0
Sample Output
10 15
 //输入不说明有多少个输入组,但以某个特殊输入为结束标志,且每行输入一开始会说有N个整数,下面接着是N个整数。
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
 	int a, sum, i, N;
 	while((cin>>N)&&(N!=0))
	{
  		sum = 0;
  		for(i = 0; i < N; i++)
		{
  			cin>>a;
   			sum+=a;
  		}
  	    cout<<sum<<endl;
 	}
 	return 0;
}

A+B for Input-Output Practice (V)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 69096    Accepted Submission(s): 46391

Problem Description
Your task is to calculate the sum of some integers.
Input
Input contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line. 
Output
For each group of input integers you should output their sum in one line, and with one line of output for each line in input. 
Sample Input
2 4 1 2 3 4 5 1 2 3 4 5
Sample Output
10 15
//输入一开始就会说有N组数据,下面接着是这N组输入。且每个输入组输入一开始会说有M个整数,下面接着是M个整数。
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
 	int a, sum, i, j, N, M;
 	while(cin>>N)
	{
  		for(i = 0; i < N; i++)
		{
   			cin>>M;
   			sum = 0;
   			for(j = 0; j < M; j++)
			{
    			cin>>a;
    			sum+=a; 
   			}
   		    cout<<sum<<endl;
   		}
    }
    return 0;
}

A+B for Input-Output Practice (VI)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 64703    Accepted Submission(s): 43569

Problem Description
Your task is to calculate the sum of some integers.
Input
Input contains multiple test cases, and one case one line. Each case starts with an integer N, and then N integers follow in the same line. 
Output
For each test case you should output the sum of N integers in one line, and with one line of output for each line in input. 
Sample Input
4 1 2 3 4 5 1 2 3 4 5
Sample Output
10 15
//输入不说明有多少组输入,以EOF为结束标志。每行一开始就会说有N个整数,下面接着是N个整数。
#include<iostream>
using namespace std;
int main(int argc,char *argv[])
{
 	int a, sum, i, N;
	while(cin>>N)
	{
 		sum = 0;
  		for(i = 0; i < N; i++)
		{
        	cin>>a;
   			sum += a;
  		}
  		cout<<sum<<endl;
 	}
 	return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值