patB2018题,看着简单实则第五个测试点测了n久都没过,后来网上搜索了以下大佬们的代码,带进去实现之后,发现痛苦的源泉居然是string???又或者是cin???
1.关于cin的问题
由于学c++的时候老师教的是cin、cout流,所以先入为主用cin去获取name,以及生日;结果未知原因导致超时,最终换成了scanf终于解决。格式如下:
scanf("%s %d/%d/%d",&name,&year,&month,&day);
2.string问题
这波完全是我自己学艺不精的问题,刚用scanf居然想直接获取string字符串,实现完了发现运行也没报错,想试试能不能执行,结果全是段错误,就hin离谱,最后不信邪地试了试char数组,过了。后来查了发现,string是c++新增,可以使用cin、cout,但不能使用scanf,printf(准确来说printf可以使用调用c.str()方法将字符串转为c类型输出,但是scanf不太清楚)。不要犯我这种学艺不精的错误
ps:之前第五问n久没过,pat上显示的是答案错误,但是实际上应该是以上问题造成的超时或者其他问题(总之应该不是思路的问题)。
参考大佬代码
string与char数组学习参考指路学习string