fix 9.40

`svec.resize(svec.size()+svec.size()/2);`
if read 1000 words,`svec.resize(1500)`,capacity is 1500
In gcc 4.8.3:
if read one by one:

read | size | capacity
------ | ------ | ------
256 | 384 | 1024
512 | 768 | 1024
1000 | 1500 | 1536
1048 | 1572 | 3000
if only read one time:

read | size | capacity
------ | ------ | ------
256 | 384 | 1024
512 | 768 | 1024
1000 | 1500 | 1500
1048 | 1572 | 1572


my codes:
```cpp
#include <iostream>
#include <vector>
using namespace std;

void resize(vector<string> &v, int size, bool one_time = false){
    if(one_time){
        v.clear();
        v.shrink_to_fit();
        v.reserve(1024);
    }
    v.resize(size + size / 2);
    cout << size << " | " << v.size()<< " | " << v.capacity() << endl;
}
int main(){
    vector<string> v;
    cout << "read | size | capacity" << endl;
    cout << "------ | ------ | ------" << endl;
    v.reserve(1024);
    resize(v, 256);
    resize(v, 512);
    resize(v, 1000);
    resize(v, 1048);
    cout << "if only read one time: \n" << endl;
    cout << "read | size | capacity" << endl;
    cout << "------ | ------ | ------" << endl;
    resize(v, 256, true);
    resize(v, 512, true);
    resize(v, 1000, true);
    resize(v, 1048, true);
        return 0;
}
```