前言
笔者准备参加2018.03.31的团体程序设计天梯赛,原本计划刷一刷GPLT的练习题,然而在各种课程和项目的摧残之下,从刷题计划变成看题计划。在我做过的二十几道题目中,笔者感到最困惑的是输入的格式,C++语法的输入显然不够用,常常需要借用C语法的输入。因此,特在此总结几种花式输入,以便日后查阅。
格式化输入
像这个题L1-009,要从键盘读取分数,这个时候有格式化输入是最方便的
1 | 5 |
1 | scanf("%lld/%lld", &a, &b); |
同样的还有这个题L1-018,从键盘读取时间
1 | 19:05 |
1 | scanf("%d:%d", &hour, &min); |
读取一整句话
这个题L1-011是要从键盘读取一整句话,我们都知道C++的cin读取时是以空格或者回车作为结束符的,但是读取一整句话难免会出现空格。
1 | I love GPLT! It's a fun game! |
1 | string s; |
更坑的读取
L1-032这个题要先读取一个数字和一个字符,再读取一整句话,原本以为是前面两种的综合体….
1 | 15 _ |
1 | int cnt; |
假如没有getchar()输入完数字和字符后回车会直接跳过getline()的输入….原理一直忘记查了….
同样的还有这个L1-039
1 | 4 |
1 | int n; |