C STL函数如何实现高效编程?

2026-04-12 04:561阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计845个文字,预计阅读时间需要4分钟。

C STL函数如何实现高效编程?

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

导入必要的库from vector import vectorfrom algorithm import sort, reversefrom iterator import ostream_iterator

C STL函数如何实现高效编程?

定义一个函数来处理输入和输出def sort_and_print_numbers(): # 创建一个 vector 来存储输入的整数 numbers=vector[int]()

# 输入 5 个整数 for _ in range(5): number=int(input()) numbers.push_back(number)

# 使用 STL 排序算法对 vector 中的元素进行排序(从大到小) sort(numbers.begin(), numbers.end(), reverse())

# 使用 STL 遍历算法输出元素,元素之间用空格隔开 ostream_iterator(int, ' ') <

调用函数sort_and_print_numbers()

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

本文共计845个文字,预计阅读时间需要4分钟。

C STL函数如何实现高效编程?

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

导入必要的库from vector import vectorfrom algorithm import sort, reversefrom iterator import ostream_iterator

C STL函数如何实现高效编程?

定义一个函数来处理输入和输出def sort_and_print_numbers(): # 创建一个 vector 来存储输入的整数 numbers=vector[int]()

# 输入 5 个整数 for _ in range(5): number=int(input()) numbers.push_back(number)

# 使用 STL 排序算法对 vector 中的元素进行排序(从大到小) sort(numbers.begin(), numbers.end(), reverse())

# 使用 STL 遍历算法输出元素,元素之间用空格隔开 ostream_iterator(int, ' ') <

调用函数sort_and_print_numbers()

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