zoukankan      html  css  js  c++  java
  • 北京理工大学复试上机--2009

    1、请输入字符串,最多输入4 个字符串,要求后输入的字符串排在前面,例如
    输入:EricZ
    输出:1=EricZ
    输入:David
    输出:1=David 2=EricZ
    输入:Peter
    输出:1=Peter 2=David 3=EricZ
    输入:Alan
    输出:1=Alan 2=Peter 3=David 4=EricZ
    输入:Jane
    输出:1=Jane 2=Alan 3=Peter 4=David
    2、把上述最后结果保存到Name.txt中;

    #include <iostream>
    #include <fstream>
    #include <vector>
    using namespace std;
    int main() {
        vector<string> v;
        string s;
        ofstream outfile;
        outfile.open("Name.txt");
        while(cin >> s) {
            outfile << s << endl;
            v.push_back(s);
            if(v.size() > 4) v.erase(v.begin());
            int num = 1;
            for(int i = v.size() - 1; i >= 0; i--) {
                cout << num++ << "=" << v[i] << " ";
                outfile << num - 1 << "=" << v[i] << " ";
            }
            cout << endl;
            outfile << endl;
        }
        outfile.close();
        return 0;
    }
    

    3、先输入一组数,然后输入其分组,按照分组统计出现次数并输出,参见样例。
    输入: 输入个数n,接下来两行分别有n个数,第一行有n个数,第二行的n个数分别对应上一行每个数的分组,n不超过100。
    输出: 输出格式参见样例,按从小到大排。
    示例1
    输入:
    7
    3 2 3 8 8 2 3
    1 2 3 2 1 3 1
    输出:
    1={2=0,3=2,8=1}
    2={2=1,3=0,8=1}
    3={2=1,3=1,8=0}

    #include <iostream>
    #include <vector>
    #include <map>
    #include <set>
    using namespace std;
    int main() {
        int n;
        cin >> n;
        int arr[n], b[n];
        set<int> s;
        map<int, vector<int> > v;
        for(int i = 0; i < n; i++) {
            cin >> arr[i];
            s.insert(arr[i]);
        }
        for(int i = 0; i < n; i++) {
            cin >> b[i];
            v[b[i]].push_back(arr[i]);
        }
        for(int i = 0; i < n; i++) {
            if(v[b[i]].empty()) continue;
            map<int, int> mmp;
            for(int j = 0; j < v[b[i]].size(); j++) {
                mmp[v[b[i]][j]]++;
            }
            cout << b[i] << "={";
            int cnt = 0;
            for(auto k = s.begin(); k != s.end(); k++) {
                cout << *k << "=" << mmp[*k];
                cnt++;
                if(cnt < s.size()) cout << ",";
            }
            cout << "}" << endl;
            v[b[i]].clear();//防止多次输出,加了此清空操作,也可以前面用flag决定是否输出
        }
        return 0;
    }
    

    4、输入一个英文句子,把句子中的单词按出现次数按从多到少把单词和次数在屏幕上输出来,要求能识别英文句号和逗号,暂不要求识别其他符号。

    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <map>
    using namespace std;
    
    map<string, int> mm;
    
    bool cmp(string s1, string s2) {
        return mm[s1] > mm[s2];
    }
    
    int main() {
        string s;
        while (getline(cin, s)) {
            string str;
            vector<string> v;
            for (int i = 0; i < s.length(); i++) {
                if (s[i] == ' ' || s[i] == ',' || s[i] == '.') {
                    if (str != "") {
                        mm[str]++;
                        v.push_back(str);
                        str = "";
                    }
                }
                else
                    str += tolower(s[i]);
            }
            sort(v.begin(), v.end(), cmp);
            map<string, int> op;
            for (auto it = v.begin(); it != v.end(); it++) {
                op[*it]++;
                if(op[*it] > 1) continue;
                cout << *it << " " << mm[*it] << endl;
            }
        }
        return 0;
    }
    

    PS:每次都有不同的烦,慌,加油啊啊啊啊啊啊!!!

  • 相关阅读:
    js禁止空格的输入
    js对cookie的读写操作
    js实现读秒
    formData的简单使用
    图形验证码笔记
    Redis安装
    ZooKeeper安装
    OpenJDK 编译-Linux环境
    Java环境变量-Linux环境
    ArchLinux+Win10双系统的Grub配置
  • 原文地址:https://www.cnblogs.com/ache/p/12543439.html
Copyright © 2011-2022 走看看