ACM常用输入输出格式

下面介绍几种常用的输入输出方法

因为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);

输入多组数据

输入多组数据

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章