C++ primer 5版第四五章

练习4.21

//使用条件运算符从vector<int>中找到哪些元素是奇数,然后将这些奇数值翻倍
#include <iostream>
using namespace std;
#include <string>
#include <vector>
using std::vector;
using std::cin;
using std::cout;
using std::endl;
using std::string;


int main() {
    vector<int> vec ={1,2,3,4,5,6,7,8,9,10,11,12};
    for(auto &i: vec)
        i = (i % 2 != 0) ? i * 2 : i;
    for(auto p : vec)
        cout << p << " ";
    cout<<endl;
}

练习4.22

//只使用条件运算符,进一步将60-75分之间的成绩设定为low pass
#include <iostream>
using namespace std;
#include <string>
#include <vector>
using std::vector;
using std::cin;
using std::cout;
using std::endl;
using std::string;


int main() {
    int grade;
    cin >> grade;
    string finalgrade = (grade > 90) ? "high pass"
                                    :(grade < 60) ? "fail"
                                                :(grade <75) ? "low pass": "pass";
    cout<< finalgrade <<endl;
}

练习5.25

//读入两个整数,输出第一个数除以第二个数的结果,用try语句块去捕获异常
//当第二个数是0时抛出异常
#include <iostream>
using namespace std;
#include <string>
#include <vector>
using std::vector;
using std::cin;
using std::cout;
using std::endl;
using std::string;


int main() {
    int i1, i2;
    while(cin >> i1 >> i2){
    try{
        if (i2 == 0)
            throw runtime_error("i2 = 0");
        //这里,“除数为0”的英文不会写..,
        cout << i1/i2 << endl;
        }catch (runtime_error err) {
            cout << err.what()<< " \nTry Again? Enter y or n" <<endl;
            char c;
            cin >> c;
            if (!cin || c == 'n')
                break;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值