下面介绍几种常用的输入输出方法
因为ACM
新人对于ACM
题目中处理输入输出存在一些疑惑,于是在这里记录几种常用的输入输出方法。
知道输入数据组数n
scanf("%d",&n);
while(n--){
//这里处理每一组输入.然后直接按格式输出.
}
没有数据总数,以EOF结束
//C
while(scanf("%d%d",&a,&b)!=EOF){
//处理每一组数据,并输出.
}
while(scanf("%d%d",&a,&b)==1){
//处理每一组数据,并输出
}
在Windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再按Enter键,即可结束输入。
在Linux下,输入完毕后按Ctrl+D键即可结束输入。
C++
while(cin>>a>>b){
//处理每一组数据,并输出
}
以0或-1结束的输入
C
while(scanf("%d",&n), n!=0) {
}
C++
while(cin>>n && n!=0){
}
输入是一整行的字符串,即以换行符(enter)为输入结束标志
gets()函数不仅比scanf简洁,输入的字符串中有空格也可以直接输入,不用像scanf() 那样要定义多个字符数组。
C
char buf[20];
gets(buf);
C++
string buf;
getline(cin,buf);
char buf[255];
cin.getline(buf,255);