2022/1/12
ACM/ICPC (International Collegiate Programming Contest)国际大学生程序设计竞赛,非官方。
ACM竞赛题目输入输出一般是多组数据,并且格式多种多样,多以输入输出是一个基本要求。
一·输入
第一类输入(最难):不知道输入有多少组sample(利用scanf返回值和while循环)
EOF是文件结束符号也是函数错误返回值默认是-1,scanf的返回值是读入的数据的个数,当scanf读到文件最后(没有缓存了),一般的函数错误返回值就是EOF,scanf读不到东西了,那就返回EOF,然后while就可以跳出循环。
第二类输入:一开始说清楚有几组数据,接下来就是几组数据,作n个循环就行
第三类输入:不说明有几组数据,但是告诉你结束的标志
e.g. 读到两个0就结束
向右面的程序可读性比较好
第四类输入:上面的各种组合
第五类输入:输入一整串的字符串
C语言和C++的字符串处理区别很大,C语言C++要结合着用,要了解另外一种语言常用的输入输出,常用的东西。
二·输出
第一类输出:一组输入对应一行输出
注意要加\n回车
第二类输出:每组输出之后(after)都有空行
要加两个回车\n\n
这意味这30之后还有一个空行
第三类输出:每组输出之间(between)都有空行,最后一个输出之后就没空行了!
第二第三类输出一定要看清楚
处理方法:第一组特殊处理或者最后一组特殊处理
1. 特殊处理第一组:abc\n 后面的:\n abc \n
2. 前面n-1组:abc\n\n 最后一组\n
杭电老师网课的笔记整理