06.18 done 编写一个小程序，由用户输入两个 string 对象，然后报告哪个 string 对象按字母排列次序而言比较小（也就是说，哪个的字典序前）。继续要求用户输入，直到用户请求退出为止。请使用 string 类型、string 类型的小于操作符以及 do while 循环实现。
"06.19 done 本节的第一个程序可以写得更简洁。事实上，该程序的所有工作可以全部包含在 while 的循环条件中。重写这个循环，使得它的循环体为空，并找出满足条件的元素。
06.20 done 编写程序从标准输入读入一系列 string 对象，直到同一个单词连续出现两次，或者所有的单词都已读完，才结束读取。请使用 while 循环，每次循环读入一个单词。如果连续出现相同的单词，便以 break 语句结束循环，此时，请输出这个重复出现的单词；否则输出没有任何单词连续重复出现的信息。
06.21 done 修改第 6.10 节最后一个习题的程序，使得它只寻找以大写字母开头的连续出现的单词。
06.22 done 对于本节的最后一个例子，跳回到 begin 标号的功能可

以用循环更好地实现。请不使用 goto 语句重写这段代
码。
06.23 done bitset 类提供 to_ulong 操作，如果 bitset 提供的位数大于 unsigned long 的长度时，抛出一个 overflow_error 异常。编写产生这种异常的程序。
06.24 done  同 06.23
06.25 done 修改第 6.11 节习题所编写的程序，使其可以有条件地输出运行时的信息。例如，可以输出每一个读入的单词，用来判断循环是否正确地找到第一个连续出现的以大写字母开头的单词。分别在打开和关闭调试器的情况下编译和运行这个程序。
6.26:  done 下面循环会导致什么现象的发生：
06.27 done 解释下面的循环：

     string s;
     while (cin >> s && s != sought) { } // empty body
     assert(cin);
     // process s
更新 第七章 题目
7.1:   done 形参和实参有什么区别？
7.2:  done 下列哪些函数是错误的？为什么？请给出修改意见。
07.01 done
7.2:  done 下列哪些函数是错误的？为什么？请给出修改意见。
7.3:   done 编写一个带有两个 int 型形参的函数，产生第一个参数的第二个参数次幂的值。编写程序传递两个 int 数值调用该函数，请检验其结果。
7.4:  done 编写一个函数，返回其形参的绝对值。
7.5:  done 编写一个函数，该函数具有两个形参，分别为 int 型和指向 int 型的指针，并返回这两个 int 值之中较大的数值。考虑应将其指针形参定义为什么类型？
7.6:  done 编写函数交换两个 int 型指针所指向的值，调用并检验该函数，输出交换后的值。
7.7:  done 解释下面两个形参声明的不同之处：

     void f(T);
     void f(T&);