1 /* 2 *Main.c 3 *B11-分支-11. 计算工资(15) 4 *Created on: 2014年6月3日 5 *Author: Boomkeeper 6 * 7 ******测试未通过********* 8 */ 9 10 #include <stdio.h> 11 #include <stdlib.h> 12 13 float salary=0; 14 15 void newStaff(int *worktime) 16 { 17 //printf("现在开始执行newStaff()\n"); 18 if(*worktime<=40) 19 { 20 //printf("现在开始计算<=40\n"); 21 salary=(*worktime)*30; 22 printf("%.2f\n",salary); 23 } 24 else 25 { 26 //printf("现在开始计算>40\n"); 27 salary=(*worktime-40)*30*1.5+40*30; 28 printf("%.2f\n",salary); 29 } 30 } 31 32 void oldStaff(int *worktime) 33 { 34 //printf("现在开始执行oldStaff()\n"); 35 if(*worktime<=40) 36 { 37 //printf("现在开始计算<=40\n"); 38 salary=(*worktime)*50; 39 printf("%.2f\n",salary); 40 } 41 else 42 { 43 //printf("现在开始计算>40\n"); 44 salary=(*worktime-40)*30*1.5+40*50; 45 printf("%.2f\n",salary); 46 } 47 } 48 49 int main() 50 { 51 int workTime=0,workYear=0; 52 int *worktime=&workTime,*workyear=&workYear; 53 54 scanf("%i %i",workyear,worktime); 55 56 if(*worktime<0 || *workyear<0)//小于0的数据不正常 57 exit(0); 58 if(*worktime>=(7*24))//一周工作时数超过7*24不正常 59 exit(0); 60 61 if(*workyear<5) 62 newStaff(worktime); 63 else 64 oldStaff(worktime); 65 66 return 0; 67 }
接下来的几道题都比较郁闷,都没有完全通过,部分测试点的返回结果错误,搞不好又是审题的原因,但是我仔仔细细把题目看了好几遍了...
时间: 2024-12-17 10:38:50