• 北京理工大学复试上机--2008


    1、存储一组姓名,如Apple Tom Green Jack要求能排序、按字母顺序插入、并显示。

    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    int main() {
        string s;
        vector<string> v;
        while(cin >> s) {
            v.push_back(s);
            if(getchar() == '
    ') {//使用if是为了可以输入多组
                sort(v.begin(), v.end());
                for(int i = 0; i < v.size(); i++) {
                    cout << v[i] << " ";
                }
                cout << endl;
                v.clear();
            }
        }
        return 0;
    }
    

    2、输入文件名及路径创建该文件,并把从键盘输入的内容保存到该文件,最后将该文件的路径、该文件名及文件中的内容输出到屏幕。

    #include <iostream>
    #include <fstream>
    #include <algorithm>
    using namespace std;
    int main() {
        string name, path;
        cin >> name >> path;
        ofstream outfile;
        outfile.open(path + name);
        cout << "请输入要保存的内容:" << endl;
        string str;
        while (getline(cin, str)) {
            outfile << str << endl;
        }
        outfile.close();
        fstream infile(path + name);
        cout << "Path: " << path << endl << "Name: " << name << endl;
        while(getline(infile, str)) {
            cout << str << endl;
        }//输出的第一行总有空格 不知为啥??
        return 0;
    }
    

    3、设计捕获两种不同类型的异常,一个是被0除,另一个是数组越界。

    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    double division(int a, int b) {
        if (b == 0) {
            throw "0不能做除数";
        }
        return (a / b);
    }
    
    void err(int i, int n, int num, int a[]) {
        if(i > n) {
            throw "数组越界";
        }
        else a[i] = num;
    }
    
    int main() {
        int a, b;
        cout << "输入被除数和除数:";
        cin >> a >> b;
        try {
            cout << division(a, b) << endl;
        }
        catch(const char* msg) {
            cout << msg << endl;
        }
        cout << "输入数组长度:";
        int n, num, i = 0;
        cin >> n;
        int arr[n];
        while(cin >> num) {
            try {
                arr[i++] = num;
                if(i > n) throw "数组越界";
            }
            catch(const char* e) {
                cout << e << endl;
            }
        }
        return 0;
    }
    

    PS:这个捕获异常,我尽力了 不懂!!!!T_T T_T


    4、设计一个程序能计算一个日期加上若干天后是什么日期。
    输入: 输入四个整数分别表示年月日和累加的天数。
    输出: 按yyyy-mm-dd的形式输出。
    2008 2 3 100 2008-05-13

    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    int main() {
        int year, month, day, add;
        while(cin >> year >> month >> day >> add) {
            int nday;
            while(add > 0) {
                nday = day + add;
                if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
                    switch(month) {
                        case 1 : add -= 31 - day; break;
                        case 2 : add -= 29 - day; break;
                        case 3 : add -= 31 - day; break;
                        case 4 : add -= 30 - day; break;
                        case 5 : add -= 31 - day; break;
                        case 6 : add -= 30 - day; break;
                        case 7 : add -= 31 - day; break;
                        case 8 : add -= 31 - day; break;
                        case 9 : add -= 30 - day; break;
                        case 10 : add -= 31 - day; break;
                        case 11 : add -= 30 - day; break;
                        case 12 : add -= 31 - day; break;
                    }
                    if(add > 0) {
                        month++;
                        day = 0;
                    }
                    if(month > 12) {
                        year++;
                        month = 1;
                    }
                }
                else {
                    switch(month) {
                        case 1 : add -= 31 - day; break;
                        case 2 : add -= 28 - day; break;
                        case 3 : add -= 31 - day; break;
                        case 4 : add -= 30 - day; break;
                        case 5 : add -= 31 - day; break;
                        case 6 : add -= 30 - day; break;
                        case 7 : add -= 31 - day; break;
                        case 8 : add -= 31 - day; break;
                        case 9 : add -= 30 - day; break;
                        case 10 : add -= 31 - day; break;
                        case 11 : add -= 30 - day; break;
                        case 12 : add -= 31 - day; break;
                    }
                    if(add > 0) {
                        month++;
                        day = 0;
                    }
                    if(month > 12) {
                        year++;
                        month = 1;
                    }
                }
            }
            printf("%d-%02d-%02d
    ", year, month, nday);
        }
        return 0;
    }
    
  • 相关阅读:
    数据库隔离级别
    Mysql 命令详解
    Mysql 索引
    强化学习(四):蒙特卡洛方法
    强化学习(三):动态编程
    强化学习(二):马尔可夫决策过程
    强化学习(一): 引入
    自然语言处理(五)时下流行的生成模型
    论文选读三 QANet
    皮质学习 HTM 知多少
  • 原文地址:https://www.cnblogs.com/ache/p/12542403.html
Copyright © 2020-2023  润新知