总结ACM 中的基本输入输出

通常基本输入输出;
1.输入第一类:输入不说明有多少个Input Block,以EOF为结束标志。
  while(scanf("%d %d",&a,&b) != EOF)【注意后面没有分号,否则不执行下面语句】
  {
   .......
   }
   【scanf函数返回值就是读出的变量个数,如:scanf(“%d %d”,&a,&b)
    如果有两个整数输入,返回值为2;如果有一个整数输入,返回值为1;如果没有整数输入,返回值为-1
    EOF是一个预定义的常量,等于-1】
2.输入第二类:输入一开始就会说有n的Input Block,下面接着是n个Input Block
  scanf("%d",&n);
  for(i=0; i<n; i ++)
  {......
   }
 
3.输入第三类:输入不说明有多少个Input Block,但以某个特殊输入为结束标志
  #include<stdio.h>
  int main()
  {
   int a,b;
   while(scanf("%d %d",&a,&b) && (a!=0&&b!=0))
   printf("%d\n",a+b);
   }

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: 当用户输入特定字符时,自动结束。默认是回车键。

原文地址:https://www.cnblogs.com/weekend/p/2983234.html