【入门推荐】ACM之输入
2009-10-20 09:20
225 查看
输入_第一类:
输入不说明有多少个Input Block,以EOF为结束标志。
例1:
Description:
你的任务是计算a+b
Input
输入包含多行数据,每行有两个整数a和b,以空格分开。
Output
对于每对整数a,b,输出他们的和,每个和占一行。
Sample Input
1 5
10 20
Sample Output
6
30
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a, &b) != EOF) printf("%d/n",a+b);
}
本类输入解决方案:
C语法:
while(scanf("%d %d",&a, &b) != EOF)
{
....
}
C++语法:
while( cin >> a >> b )
{
....
}
说明:
Scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, &a, &b );
如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。
EOF是一个预定义的常量,等于-1。
输入_第二类:
输入一开始就会说有N个Input Block,下面接着是N个Input Block。
例2:
Description:
你的任务是计算a+b
Input
输入包含多行数据,第一行有一个整数N,接下来N行每行有两个整数a和b,以空格分开。
Output
对于每对整数a,b,输出他们的和,每个和占一行。
Sample Input
2
1 5
10 20
Sample Output
6
30
#include <stdio.h>
int main()
{
int n,i,a,b;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&a, &b);
printf("%d/n",a+b);
}
}
本类输入解决方案:
C语法:
scanf("%d",&n) ;
for( i=0 ; i<n ; i++ )
{
....
}
C++语法:
cin >> n;
for( i=0 ; i<n ; i++ )
{
....
}
输入_第三类:
输入不说明有多少个Input Block,但以某个特殊输入为结束标志。
例3:
Description:
你的任务是计算a+b
Input
输入包含多行数据,每行有两个整数a和b,以空格分开。测试数据以0 0结束。
Output
对于每对整数a,b,输出他们的和,每个和占一行。
Sample Input
1 5
10 20
0 0
Sample Output
6
30
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a, &b) &&!(a==0 && b==0))
printf("%d/n",a+b);
}
本类输入解决方案:
C语法:
while(scanf("%d",&n) && n!=0 )
{
....
}
C++语法:
while( cin >> n && n != 0 )
{
....
}
输入_第四类:
以上几种情况的组合
例4:
Description:
你的任务是计算多个数字的和
Input
输入包含多行数据,每行以一个整数N开始,接着有N个整数,以空格分开。测试数据以0结束。
Output
输出每行的N个整数之和,每个和占一行。
Sample Input
4 1 2 3 4
5 1 2 3 4 5
0
Sample Output
10
15
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/niyibo/archive/2009/09/11/4540928.aspx
输入不说明有多少个Input Block,以EOF为结束标志。
例1:
Description:
你的任务是计算a+b
Input
输入包含多行数据,每行有两个整数a和b,以空格分开。
Output
对于每对整数a,b,输出他们的和,每个和占一行。
Sample Input
1 5
10 20
Sample Output
6
30
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a, &b) != EOF) printf("%d/n",a+b);
}
本类输入解决方案:
C语法:
while(scanf("%d %d",&a, &b) != EOF)
{
....
}
C++语法:
while( cin >> a >> b )
{
....
}
说明:
Scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, &a, &b );
如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。
EOF是一个预定义的常量,等于-1。
输入_第二类:
输入一开始就会说有N个Input Block,下面接着是N个Input Block。
例2:
Description:
你的任务是计算a+b
Input
输入包含多行数据,第一行有一个整数N,接下来N行每行有两个整数a和b,以空格分开。
Output
对于每对整数a,b,输出他们的和,每个和占一行。
Sample Input
2
1 5
10 20
Sample Output
6
30
#include <stdio.h>
int main()
{
int n,i,a,b;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&a, &b);
printf("%d/n",a+b);
}
}
本类输入解决方案:
C语法:
scanf("%d",&n) ;
for( i=0 ; i<n ; i++ )
{
....
}
C++语法:
cin >> n;
for( i=0 ; i<n ; i++ )
{
....
}
输入_第三类:
输入不说明有多少个Input Block,但以某个特殊输入为结束标志。
例3:
Description:
你的任务是计算a+b
Input
输入包含多行数据,每行有两个整数a和b,以空格分开。测试数据以0 0结束。
Output
对于每对整数a,b,输出他们的和,每个和占一行。
Sample Input
1 5
10 20
0 0
Sample Output
6
30
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a, &b) &&!(a==0 && b==0))
printf("%d/n",a+b);
}
本类输入解决方案:
C语法:
while(scanf("%d",&n) && n!=0 )
{
....
}
C++语法:
while( cin >> n && n != 0 )
{
....
}
输入_第四类:
以上几种情况的组合
例4:
Description:
你的任务是计算多个数字的和
Input
输入包含多行数据,每行以一个整数N开始,接着有N个整数,以空格分开。测试数据以0结束。
Output
输出每行的N个整数之和,每个和占一行。
Sample Input
4 1 2 3 4
5 1 2 3 4 5
0
Sample Output
10
15
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/niyibo/archive/2009/09/11/4540928.aspx
相关文章推荐
- ACM推荐书目,入门
- C/C++ACM入门之输入函数格式控制
- ACM推荐书目,入门
- ACM入门------C语言中如何实现多组数据输入输出
- ACM_算法竞赛经典入门_ 强烈推荐的一本好书
- ACM——01——1004: 【入门】输入一个三位数,把个位和百位对调后输出 【运算符】
- ACM 输出输入入门
- Windows Server入门系列之九 简单数据恢复 推荐
- Java_27_键盘输入_Scanner类的使用_import入门
- BootStrap入门教程 (四) :JQuery类库插件(模态窗口,滚动监控,标签效果,提示效果,“泡芙”效果,警告区域,折叠效果,旋转木马,输入提示)
- 【推荐给入门选手】【非常基础,又很详细,系统】机器学习中的相似性度量
- Python入门书籍推荐
- JSsearch实现在购物网站输入后推荐联想的效果
- [置顶] Java基础入门-IO输入输出流
- 推荐学习STL的好书(入门级别)
- 【day 5】python编程:从入门到实践学习笔记-用户输入和while循环(末答案)
- 《Java从入门到放弃》框架入门篇:Struts2的基本数据传递方式 推荐
- 各学科领域入门书籍推荐
- ACM_ACM入门贴1_阶段练习
- 深度学习大神都推荐入门必须读完这9篇论文