当前位置 : 主页 > 编程语言 > c语言 >

C++STL函数

来源:互联网 收集:自由互联 发布时间:2023-08-26
1、排序算法 描述键盘输入 5 个整数,使用 vector 进行存储,使用 STL 排序算法对元素进行排序(从大到小),再使用 STL 遍历算法输出元素。(元素和元素之间使用空格隔开)输入描述

1、排序算法

描述 键盘输入 5 个整数,使用 vector 进行存储,使用 STL 排序算法对元素进行排序(从大到小),再使用 STL 遍历算法输出元素。(元素和元素之间使用空格隔开) 输入描述: 键盘输入 5 个整数 输出描述: 输出排序后的元素,元素和元素之间使用空格隔开。

#include <iostream>
#include <vector>
// write your code here......
#include<algorithm>
using namespace std;
void print(int x)
{
    cout<<x<<" ";
}
int main() {

    int num;
    vector<int> v;
    for (int i = 0; i < 5; i++) {
        cin >> num;
        v.push_back(num);
    }

    // write your code here......
    sort(v.begin(),v.end(),greater<int>());//greater函数是降序排序
    for_each(v.begin(),v.end(),print);

    return 0;
}

2、找到数组里的第k大数(C++)

描述 给出一个包含nn个整数的数组aa,使用vector存储。 用STL算法实现输出数组的第kk大数。 输入描述: 第一行两个整数n ,kn,k。(1\le k \le n)(1≤k≤n) 第二行nn个整数表示数组aa。 输出描述: 输出一个数表示答案。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,k;
	vector<int>a;
	// write your code here......
	cin>>n>>k;
    int num;
    for(int i=0;i<n;i++)
    {
        cin>>num;
        a.push_back(num);
    }
    sort(a.begin(),a.end());//先从小到大排序
    cout<<a.at(k-1)<<endl;//at(n)返回第n个元素的引用,第k大的元素下标是k-1
	return 0;
}

3、个人所得税计算程序

#include <iostream>
// write your code here......
#include<algorithm>
#include<vector>
#include<iomanip>
using namespace std;

class Employee {

    private:
        string name;
        double salary;
    // write your code here......
    public:
    Employee(string name,double salary)
    {
        this->name=name,this->salary=salary;
    }
    string getName()
    {
        return name;
    }
    double getSalary()
    {
        return salary;
    }
};
bool cmp(Employee e1,Employee e2)
{
    return e1.getSalary()>e2.getSalary();//按薪水从大到小排序
}
void print(Employee& e)
{
    double tax=0.0;
    double t=e.getSalary()-3500;
    if(t>80000)
    {
        tax=t*0.45-13505;
    }else if(t>55000)
    {
        tax=t*0.35-5505;
    }else if(t>35000)
    {
        tax=t*0.3-2755;
    }else if(t>9000)
    {
        tax=t*0.25-1005;
    }else if(t>4500)
    {
        tax=t*0.20-555;
    }else if(t>1500)
    {
        tax=t*0.1-105;
    }else if(t>0)
    {
        tax=t*0.03;
    }else{
        tax=0.0;
    }
    cout<<fixed<<setprecision(1);
    cout<<e.getName()<<"应该缴纳的个人所得税是:"<<tax<<endl;
}
int main() {

    // write your code here......
    Employee e1("张三",6500);
    Employee e2("李四",8000);
    Employee e3("王五",100000);
    vector<Employee>v;
    v.push_back(e1);
    v.push_back(e2);
    v.push_back(e3);
    sort(v.begin(),v.end(),cmp);
    for_each(v.begin(),v.end(),print);//STL输出函数
    return 0;
}
上一篇:【高阶数据结构】B树
下一篇:没有了
网友评论