【题解】人工智障
持续更新中
题意
给你一个不含缩写且疑问对象是人称代词的一般疑问句,你的程序需要对该疑问做出肯定的回答,并做出合理的人称转换。
题解
字符串的基本操作
通过空格,截取出字符串的前两段,分别是人称代词和疑问词。
转换
you -> I
I -> you
坑点
并不是所有的are,都要转换为am的。
只有you前的需要转换,they前的不需要转换!
代码
class Solution { public: /** * 获得一个一般疑问句的肯定回答 * @param question string字符串 一个主语为人称代词的问句 * @return string字符串 */ string getReply(string question) { // write code here stringstream str(question); //cout << question << endl; string q1, q2; str >> q1; str >> q2; transform(q1.begin(), q1.end(), q1.begin(), ::tolower); if (q2 == "you") { q2 = "I"; if (q1 == "are") q1 = "am"; if (q1 == "were") q1 = "was"; } else if (q2 == "I") { q2 = "you"; if (q1 == "am") q1 = "are"; if (q1 == "was") q1 = "were"; } return "Yes, " + q2 + " " + q1 + "!"; } };