AIlaopo 发表于 2018-3-6 15:54:36

C++ Primer之课后练习 string篇

3.7 编一个程序读入两个 string 对象,测试它们是否相等。
若不相等,则指出两个中哪个较大。接着,改写程序测试
它们的长度是否相等,若不相等指出哪个较长。

        string s1,s2;
        cout << "please input the first string " << endl;
        cin >> s1;
        cout << "please input the second string " << endl;
        cin >> s2;

        string::size_type length1 = s1.size();
        string::size_type length2 = s2.size();

        if(!(s1 == s2))
        {
                cout << (s1 > s2 ? s1:s2) << " is bigger" << endl;
                cout << (length1 > length2 ? s1:s2) << " is longger" << endl;
        }

3.8编一个程序,从标准输入读取多个 string 对象,把它们
连接起来存放到一个更大的 string 对象中。并输出连接
后的 string 对象。接着,改写程序,将连接后相
邻 string 对象以空格隔开。

#define stringcnt      5
        string sum;
        string sums;
        for(int i = 0;i < stringcnt; i++)
        {
                string si;
                cin >> si;
                sum += si;
                sums = si + ' ' + sums;
        }
       
        cout << sum << endl;
        cout << sums << endl;
输出:
3
e
s
d
g
3esdg
g d s e 3
请按任意键继续. . .

这里sums的顺序怎么是反过来的?

3.10编一个程序,从 string 对象中去掉标点符号。要求输入
到程序的字符串必须含有标点符号,输出结果则是去掉标
点符号后的 string 对象。

这个用迭代器应该可以实现,后面加上。


页: [1]
查看完整版本: C++ Primer之课后练习 string篇