C++Primer(第四章课后习题)(程序题源代码)

来源:互联网 发布:区域经济考研知乎 编辑:程序博客网 时间:2024/04/30 22:01

4.2

#include<stdio.h>#include<vector>#include<ctime>#include<cstdio>#include<iostream>using namespace std;int main(){    vector<int> vec;    srand((unsigned)time(NULL));    cout << "系统自动向向量生成一组元素......" << endl;    for (int i = 0; i != 10; i++)        vec.push_back(rand() % 100);    cout << "生成的向量数据是:" << endl;    for (auto c : vec)        cout << c << " ";    cout << endl;    cout << "验证添加的括号是否正确:" << endl;    cout << "*vec.begin()的值是:" << *vec.begin() << endl;    cout << "*(vec.begin())的值是:" << *(vec.begin()) << endl;    cout << "*vec.begin()+1的值是:" << *vec.begin() + 1 << endl;    cout << "(*(vec.begin()))+1的值是:" << (*(vec.begin())) + 1 << endl;    return 0;}

4.21

#include<stdio.h>#include<vector>#include<ctime>#include<cstdio>#include<iostream>using namespace std;int main(){    vector<int> vInt;    const int sz = 10;    srand((unsigned)time(NULL));    cout << "数组的初始值是" << endl;    for (int i = 0; i != sz; ++i)    {        vInt.push_back(rand() % 100);        cout << vInt[i] << " ";    }    cout << endl;    for (auto &val : vInt)    {        val = (val % 2 != 0) ? val * 2 : val;    }    cout << "调整后的数组值是:" << endl;    for (auto it = vInt.cbegin(); it != vInt.cend(); ++it)        cout << *it << " ";    cout << endl;    return 0;}

4.22

#include<stdio.h>#include<vector>#include<ctime>#include<cstdio>#include<iostream>#include<string>using namespace std;int main(){    string finalgrade;    int grade;    cout << "请输入您要检查的成绩" << endl;    while (cin >> grade&&grade >= 0 && grade <= 100)    {        finalgrade = (grade > 90) ? "high pass": (grade > 75) ? "pass": (grade > 60) ? "low pass" : "fail";        cout << "该成绩所处的档次是:"<<finalgrade << endl;        cout << "请输入您要检查的成绩:" << endl;    }    return 0;}
#include<stdio.h>#include<vector>#include<ctime>#include<cstdio>#include<iostream>#include<string>using namespace std;int main(){    string finalgrade;    int grade;    cout << "请输入您要检查的成绩" << endl;    while (cin >> grade&&grade >= 0 && grade <= 100)    {        if (grade > 90)            finalgrade = "high pass";        else if (grade > 75)            finalgrade = "pass";        else if (grade > 60)            finalgrade = "low pass";        else            finalgrade = "fail";        cout << "该成绩所处的档次是" << finalgrade<<endl;        cout << "请输入您要检查的成绩" << endl;    }    return 0;}

4.28

#include<stdio.h>#include<vector>#include<ctime>#include<cstdio>#include<iostream>#include<string>using namespace std;int main(){    cout << "类型的名称\t" << "所占空间" << endl;    cout << "bool\t\t" << sizeof(bool) << endl;    cout << "char\t\t" << sizeof(char) << endl;    cout << "wchar_t\t\t" << sizeof(wchar_t) << endl;    cout << "char16_t\t" << sizeof(char16_t) << endl;    cout << "char32_t\t" << sizeof(char32_t) << endl;    cout << "short\t\t" << sizeof(short) << endl;    cout << "int\t\t" << sizeof(int) << endl;    cout << "long\t\t" << sizeof(long) << endl;    cout << "long long\t" << sizeof(long long) << endl;    cout << "float\t\t" << sizeof(float) << endl;    cout << "double\t\t" <<sizeof(double) << endl;    cout << "long double\t" << sizeof(long double) << endl;    return 0;}

4.33

#include<stdio.h>#include<vector>#include<ctime>#include<cstdio>#include<iostream>#include<string>using namespace std;int main(){    int x=10, y = 20;    bool someValue = true;    someValue ? ++x, ++y : --x, --y;    cout << x << endl;    cout << y << endl;    cout << someValue << endl;    x = 10, y = 20;    someValue = false; someValue ? ++x, ++y : --x, --y;    cout << x << endl;    cout << y << endl;    cout << someValue << endl;    return 0;}
0 0