c++ Primer 第五版习题答案 第三章
3.2 编写程序,从标准输入中一次读入一整行,然后修改该程序使其一次读入一个词。 void readByLine () { string line; while (getline (cin, line)) { cout << line << endl; } } void readByWord () { string word; while (cin >> word) { cout << word << endl; } } 3.3 说明string类的输入运算符和getline函数分别是如何处理空白字符的。 输入运算符会自动忽略字符串前的空白(空格、制表符、换行等),从第一个真正的字符到下一个空白。 getline函数会保存字符串中的空白,读入数据直到遇见换行符。 3.4 编写程序,读入两个字符串,比较其是否相等并输出结果。如果不相等,输出较大的那个字符串。改写上述程序,比较输入的两个字符串是否等长,如果不等长,输出长度较大的那个字符串。 void compareString () { string s1, s2; cin >> s1 >> s2; if (s1 == s2) { cout << "equal" << endl; } else if (s1 > s2){ cout << s1 << endl; } else { cout << s2 << endl; } } void