第一种方法:if else:
#include<stdio.h>
int main(void){
int year,time;
scanf("%d %d",&year,&time);
double money1=50*time;
double money2=50*40+75*(time-40);
double money3=30*time;
double money4=30*40+45*(time-40);
if(year>=5){
if(time<=40){
printf("%.2f",money1);
}
else{
printf("%.2f",money2);
}
}
else {
if(time<=40){
printf("%.2f",money3);
}
else{
printf("%.2f",money4);
}
}
return 0;
}
或者写成这样:
#include <stdio.h>
// 计算工资函数
double calculateSalary(int year, int time) {
if (year >= 5) { // 老职工
if (time <= 40) {
return 50 * time;
} else {
return 50 * 40 + 50 * 1.5 * (time - 40);
}
} else { // 新职工
if (time <= 40) {
return 30 * time;
} else {
return 30 * 40 + 30 * 1.5 * (time - 40);
}
}
}
int main(void) {
int year, time;
scanf("%d %d", &year, &time);
double salary = calculateSalary(year, time);
printf("%.2f", salary);
return 0;
}
第二种方法swith:
#include <stdio.h>
int main(void) {
int year, time;
scanf("%d %d", &year, &time);
double salary;
switch (year >= 5) {
case 1: // 老职工
salary = (time <= 40)? 50 * time : 50 * 40 + 50 * 1.5 * (time - 40);
break;
case 0: // 新职工
salary = (time <= 40)? 30 * time : 30 * 40 + 30 * 1.5 * (time - 40);
break;
}
printf("%.2f", salary);
return 0;
}