#include <iomanip> #include <ios> #include <iostream> // write your code here...... #include <vector> #include <algorithm> using namespace std; class Employee { private: string name; double salary; // write your code here...... public: Employee(string n, double s): name{n}, salary(s) {} double tax() { double temp {salary - 3500}; if (temp > 80000) { return (temp * 0.45) - 13505; } else if (temp > 55000) { return (temp * 0.35) - 5505; } else if (temp > 35000) { return (temp * 0.30) - 2755; } else if (temp > 9000) { return (temp * 0.25) - 1005; } else if (temp > 4500) { return (temp * 0.20) - 555; } else if (temp > 1500) { return (temp * 0.10) - 105; } else if (temp >= 0 && temp <= 1500) { return temp * 0.03; } else { return 0; } } double get_salary() const { return salary; } string get_name() const { return name; } }; bool cmp(const Employee& a, const Employee&b) { return a.get_salary() > b.get_salary(); } int main() { // write your code here...... Employee zs("张三", 6500); Employee ls("李四", 8000); Employee ww("王五", 100000); vector<Employee> v {zs, ls, ww}; sort(v.begin(), v.end(), cmp); for (auto& item: v) { cout << item.get_name() << "应该缴纳的个人所得税是:" << fixed << setprecision(1) << item.tax() << endl; } return 0; }