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

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值