C语言编程之后需要函数的

某学校对教师每月工资的计算公式如下:固定工资+课时补贴。教授的固 定工资为 5000 元,每个课时补贴为 50 元,副教授的固定工资为 3000 元,每 个课时补贴为 30 元;讲师的固定工资为 2000 元,每个课时补贴为 20 元。编 写一个函数,要求可以计算各类教师的工资。

如果以下回答对您有所帮助,点击一下采纳该答案~谢谢

#include <stdio.h>

#define PROFESSOR_FIXED_SALARY 5000
#define ASSOCIATE_PROFESSOR_FIXED_SALARY 3000
#define LECTURER_FIXED_SALARY 2000

#define PROFESSOR_PER_HOUR_SUBSIDY 50
#define ASSOCIATE_PROFESSOR_PER_HOUR_SUBSIDY 30
#define LECTURER_PER_HOUR_SUBSIDY 20

float calculate_salary(char *title, int hours) {
    float fixed_salary;
    float per_hour_subsidy;

    if (strcmp(title, "教授") == 0) {
        fixed_salary = PROFESSOR_FIXED_SALARY;
        per_hour_subsidy = PROFESSOR_PER_HOUR_SUBSIDY;
    } else if (strcmp(title, "副教授") == 0) {
        fixed_salary = ASSOCIATE_PROFESSOR_FIXED_SALARY;
        per_hour_subsidy = ASSOCIATE_PROFESSOR_PER_HOUR_SUBSIDY;
    } else if (strcmp(title, "讲师") == 0) {
        fixed_salary = LECTURER_FIXED_SALARY;
        per_hour_subsidy = LECTURER_PER_HOUR_SUBSIDY;
    } else {
        printf("不支持该职称\n");
        return -1;
    }

    float total_salary = fixed_salary + hours * per_hour_subsidy;
    return total_salary;
}

int main() {
    // 计算教授每月上课 80 小时的工资
    float professor_salary = calculate_salary("教授", 80);
    printf("%.2f\n", professor_salary); // 输出 9000.00

    // 计算副教授每月上课 60 小时的工资
    float associate_professor_salary = calculate_salary("副教授", 60);
    printf("%.2f\n", associate_professor_salary); // 输出 4800.00

    // 计算讲师每月上课 100 小时的工资
    float lecturer_salary = calculate_salary("讲师", 100);
    printf("%.2f\n", lecturer_salary); // 输出 4000.00

    return 0;
}

该代码使用了 #define 宏定义来定义教师各项工资标准,然后在计算工资的函数中,根据传入的职称进行条件分支,获取对应的固定工资和课时补贴,最后计算总工资并返回。在 main() 函数中,我们调用 calculate_salary() 函数来分别计算教授、副教授和讲师的工资,并输出结果。