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;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章