数据结构作业记录(实验三)

252 阅读5分钟
7-2 计算工资

某公司员工的工资计算方法如下:一周内工作时间不超过40小时,按正常工作时间计酬;
超出40小时的工作时间部分,按正常工作时间报酬的1.5倍计酬。
员工按进公司时间分为新职工和老职工,进公司不少于5年的员工为老职工,5年以下的为新职工。
新职工的正常工资为30元/小时,老职工的正常工资为50元/小时。请按该计酬方式计算员工的工资。

输入格式:
输入在一行中给出2个正整数,分别为某员工入职年数和周工作时间,其间以空格分隔。

输出格式:
在一行输出该员工的周薪,精确到小数点后2位。

输入样例1:
5 40
输出样例1:
2000.00
输入样例2:
3 50
输出样例2:
1650.00

以下是一个使用C语言编写的根据员工进公司时间和周工作时间计算工资的程序示例:

#include <stdio.h>

int main() {
    int years, hours;
    float base_salary, overtime_salary, total_salary;

    // 输入员工进公司时间和周工作时间
    scanf("%d %d", &years, &hours);

    // 判断是新职工还是老职工,并设置基本工资
    if (years < 5) {
        base_salary = 30.0;
    } else {
        base_salary = 50.0;
    }

    // 计算加班工资
    if (hours > 40) {
        overtime_salary = (hours - 40) * base_salary * 0.5;
    } else {
        overtime_salary = 0.0;
    }

    // 计算总工资
    total_salary = base_salary * hours + overtime_salary;

    // 输出结果,保留两位小数
    printf("%.2f\n", total_salary);

    return 0;
}

这个程序首先通过scanf函数获取员工的进公司时间和周工作时间。然后根据进公司时间判断员工是新职工还是老职工,并设置基本工资。接下来,根据周工作时间判断是否有加班,并计算加班工资。最后,将基本工资和加班工资相加得到总工资,并使用printf函数输出结果,保留两位小数。

希望这个C语言程序能满足您的需求!如果您有任何其他问题,请随时提问。

7-3 计算油费

现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。
为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%3%的折扣。

本题要求编写程序,根据输入顾客的加油量a,汽油品种b909397)和服务类型c(m - 自助,e - 协助),计算并输出应付款。

输入格式:
输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b909397)和服务类型c(m - 自助,e - 协助)。

输出格式:
在一行中输出应付款额,保留小数点后2位。

输入样例:
40 97 m
输出样例:
301.34

以下是一个使用C语言编写的根据顾客加油量、汽油品种和服务类型计算应付款的程序示例:

#include <stdio.h>

int main() {
    int quantity, grade;
    char service;
    float price, discount, total;

    // 输入加油量、汽油品种和服务类型
    scanf("%d %d %c", &quantity, &grade, &service);

    // 根据汽油品种确定单价
    switch(grade) {
        case 90:
            price = 6.95;
            break;
        case 93:
            price = 7.44;
            break;
        case 97:
            price = 7.93;
            break;
        default:
            printf("Invalid grade\n");
            return 0;
    }

    // 根据服务类型确定折扣
    switch(service) {
        case 'm':
            discount = 0.05;
            break;
        case 'e':
            discount = 0.03;
            break;
        default:
            printf("Invalid service\n");
            return 0;
    }

    // 计算应付款额
    total = quantity * price * (1 - discount);

    // 输出结果,保留两位小数
    printf("%.2f\n", total);

    return 0;
}

这个程序首先通过scanf函数获取顾客的加油量、汽油品种和服务类型。然后使用switch语句根据汽油品种确定单价,并根据服务类型确定折扣。接下来,根据加油量、单价和折扣计算应付款额。最后,使用printf函数输出结果,保留两位小数。

希望这个C语言程序能满足您的需求!如果您有任何其他问题,请随时提问。

7-3 计算符号函数的值 对于任一整数n,符号函数sign(n)的定义如下: image.png

请编写程序计算该函数对任一输入整数的值。

输入格式:
输入在一行中给出整数n。

输出格式:
在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。

输入样例1:
10
输出样例1:
sign(10) = 1
输入样例2:
0
输出样例2:
sign(0) = 0
输入样例3:
-98
输出样例3:
sign(-98) = -1

需要询问GPT的代码

# include <stdio.h>


int sign(){
   int n;
   if n<0:
   sign(-n)=-1
   elseif n=0:
   sign(n)=0
   else:
   sign(n)=1
   
}

int main() {  
    int n;
    // 输入整数n 
    scanf("%d", n)l;
  
    // 调用符号函数计算函数值  
    sign(n);
  
    // 输出结果  
    printf("%d",n)
}  


以下是一个使用C语言编写的计算符号函数值的程序示例:

```c
#include <stdio.h>

int sign(int n) {
    if (n > 0) {
        return 1;
    } else if (n < 0) {
        return -1;
    } else {
        return 0;
    }
}

int main() {
    int n;

    // 输入整数n
    scanf("%d", &n);

    // 调用符号函数计算函数值
    int result = sign(n);

    // 输出结果
    printf("sign(%d) = %d\n", n, result);

    return 0;
}

这个程序定义了一个名为sign的函数,它接受一个整数作为参数,并根据参数的正负返回符号函数的值(1表示正数,-1表示负数,0表示零)。然后在main函数中,通过scanf函数获取整数n的输入,并调用sign函数计算函数值。最后,使用printf函数输出结果。

希望这个C语言程序能满足您的需求!如果您有任何其他问题,请随时提问。