题解 | #个人所得税计算程序#
个人所得税计算程序
https://www.nowcoder.com/practice/afd6c29943c54453b2b5e893653c627e
#include <algorithm> #include <iostream> #include <string> // write your code here...... #include <vector> #include <iomanip> using namespace std; class Employee { private: string name; double salary; // write your code here...... public: Employee(string m_name, double m_salary) :name(m_name), salary(m_salary) {}; string getname() { return name; } double getsalary() { return salary; } }; double gettex(double sal) { double temp = sal - 3500; double tex=0.0; if (temp>0 && temp <= 1500) { tex = (sal - 3500) * 0.03; } if (temp > 1500 && temp<=4500) { tex = (sal - 3500) * 0.1 - 105; } if (temp > 4500 && temp <= 9000) { tex = (sal - 3500) * 0.2 - 555; } if (temp > 9000 && temp <= 35000) { tex = (sal - 3500) * 0.25 - 1005; } if (temp > 35000 && temp <= 55000) { tex = (sal - 3500) * 0.3 - 2755; } if (temp > 55000 && temp <= 80000) { tex = (sal - 3500) * 0.35 - 5505; } if (temp > 80000 ) { tex = (sal - 3500) * 0.45 - 13505; } return tex; } bool cmp(Employee& e1, Employee& e2) { return e1.getsalary() > e2.getsalary(); } int main() { // write your code here...... Employee emploee1("张三", 6500); Employee emploee2("李四", 8000); Employee emploee3("王五", 100000); vector<Employee> v; v.push_back(emploee1); v.push_back(emploee2); v.push_back(emploee3); sort(v.begin(), v.end(), cmp); for (auto it = v.begin(); it != v.end(); it++) { cout <<fixed<< setprecision(1)<< it->getname() << "应该缴纳的个人所得税是:" << gettex(it->getsalary()) << endl; } return 0; }