ACM输入输出方法

输入_第一类:

输入不说明有多少个Input Block,以EOF为结束标志。 

1

Description:

你的任务是计算a+b

Input

输入包含多行数据,每行有两个整数ab,以空格分开。

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 ) 
    { 
        .... 
    } 

说明:

1. Scanf函数返回值就是读出的变量个数,如:scanf( “%d  %d”, &a, &b ); 
如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。

2. EOF是一个预定义的常量,等于-1。

输入_第二类:

输入一开始就会说有NInput Block,下面接着是NInput Block

2

Description:

你的任务是计算a+b

Input

输入包含多行数据,第一行有一个整数N,接下来N行每行有两个整数ab,以空格分开。

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

输入包含多行数据,每行有两个整数ab,以空格分开。测试数据以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.输入第四类:以上三种情况的组合

5.输入第五类:输入是一整行的字符串

  C语法:char buf[20];
         gets(buf);
  【说明】
  (1)scanf("%s %s",str1,str2),在多个字符串之间用一个或多个空格分隔
  (2)若用gets函数,应为gets(str1);gets(str2);字符串之间用回车符作分隔
  (3)通常情况下,短字符用scanf函数,长字符用gets函数
  (4)getchar函数每次只能接受一个字符,用c = getchar()来使用。
  (5)getline是一个函数,它可以接受用户的输入的字符,直到已达到指定个数,或者用户输入了特定的字符。
        函数原型:istream& getline(char line[],int size,char endchar = '\n');
        char line[]:就是一个字符数组,用户输入的内容存入在该数组中
        int size :最多接受几个字符?用户超过size规定的字符数将不被接受。
        char endchar: 当用户输入特定字符时,自动结束。默认是回车键。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值