读入
cin
遇见换行和空格停止
cin.get()/getchar()
一次读入一个字符,会读入换行和空格
判断是否为空格/换行符
if ( ! isgraph (c) )
if ( isspace (c) )

cin.getline()
char sentence[N];
cin.getline(sentence, 20);
/*getline 函数使用两个用逗号分隔的参数。第一个参数是要存储字符串的数组的名称。第二个参数是数组的大小。
当 cin.getline 语句执行时,cin 读取的字符数将比该数字少一个,为 null 终止符留出空间。
以上语句最多可读取 19 个字符,null 终止符将自动放在数组最后一个字符的后面。*/
getline(cin,s)
此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。
其中 cin 是正在读取的输入流,而s是接收输入字符串的 string 变量的名称。
//需要头文件<string>
//会读入换行符,必要的时候和getchar()一起使用
int a;
cin >> a;
string s;
getchar();
getline(cin, s);
快读
int read() {
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();} //不需要负数可以删掉
while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar(); //追求更快可以把乘10写成 x<<1 + x << 3 (运用位运算)
return x*f;
}


浙公网安备 33010602011771号