c++primer第三章习题(1)

来源:互联网 发布:mac搜索应用 编辑:程序博客网 时间:2024/05/09 15:01

EX3.17
从cin读取单词保存到vector类型中,然后将每个单词变成大写后输出,每行8个。
tip:ctr+z+enter可退出string输入
解:

int _tmain(int argc, _TCHAR* argv[]){    vector<string> text;    string word;    int cnt = 0;    while (cin >> word)        text.push_back(word);    for (auto &i : text)    {        for (auto &j : i)            j = toupper(j);    }    for (int i = 0; i != text.size(); i++)    {        cout << text[i] << '\t';        cnt++;        if (cnt == 8)        {             cout << endl;             cnt = 0;        }           }    return 0;}

EX3.20
(1)将一串整数读入vector中,打印出相邻两个的和。
(2)打印出第一个和最后一个的和,以此类推。

解:
(1)

int _tmain(int argc, _TCHAR* argv[]){    vector<int> result;    int num;    while (cin >> num)        result.push_back(num);    for (int i = 0; i < result.size(); i += 2)    {        if (i != (result.size()-1))            cout << result[i] + result[i + 1] << endl;        else            cout << result[i] << endl;    }    return 0;}

(2)

int _tmain(int argc, _TCHAR* argv[]){    vector<int> result;    int num;    while (cin >> num)        result.push_back(num);    int i = 0;    auto j = (result.size() - 1);    for (i,j; i < j; i++,j--)    {        cout << (result[i] + result[j] )<< endl;        if ((j - i) == 2)        {            cout << result[i + 1]<<endl;        }    }    return 0;}
0 0
原创粉丝点击