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 }
接下來的幾道題都比較郁悶,都沒有完全通過,部分測試點的返回結果錯誤,搞不好又是審題的原因,但是我仔仔細細把題目看了好幾遍了...