C++primer[习题][第三章][1-10]

  • 3.1
using std::cin;
using std::cout;
using std::endl;
using std::cerr;
  • 3.2
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main(void)
{
    string line, s;
    while (getline(cin, line))
    {
        /*..每次读入一行..*/
    }
    while (cin >> s)
    {
        /*..每次读入一个字符串..*/
    }
    return 0;
}
  • 3.3

输入运算符:读入字符,直到遇到空格停止。

getline函数:读入所有字符,直到一行结束。

  • 3.4
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main(void)
{
    string s1, s2;
    cin >> s1 >> s2;
    /*..输出较大字符串..*/
    cout << (s1>s2?s1:s2) << endl;
    /*..输出较长字符串..*/
    cout << (s1.size() > s2.size() ? s1 : s2) << endl;
    return 0;
}
  • 3.5
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main(void)
{
    string s;
    /*..输出连续大字符串..*/
    while (cin >> s)
    {
        cout << s;
    }
    /*..输出字符串中加空格..*/
    while (cin >> s)
    {
        cout << s << " ";
    }
    return 0;
}
  • 3.6
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main(void)
{
    string s;
    s = "hello world";
    for (auto &c : s)
    {
        c = 'X';
    }
    return 0;
}
  • 3.7

auto可以根据变量的类型自动匹配,auto &c : s匹配的cchar &c类型。

  • 3.8
for(char &c : s)
{
    c = 'X';
}
string::size_type i = 0;
while (s[i])
{
    s[i] = 'X';
    i++;
}

for循环更易读。

  • 3.9

程序的作用为输出字符串的第一个字符。
不合法。
因为字符串未定义。

  • 3.10
string s;
cin >> s;
for (auto &c : s)
{
    if (!ispunct(c))
    {
        cout << c;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章