Problem G: C語言習題 醫生值班
Time Limit: 3 Sec??Memory Limit: 128 MBSubmit: 847??Solved: 102
[Submit][Status][Web Board]
Description
醫院內科有A,B,C,D,E,F,G,H共七位醫生,每人在一周內要值一次夜班,排班的要求是:
(1) A醫生值班日比C醫生晚1天
(2) D醫生值班日比E醫生晚2天
(3) B醫生值班日比G醫生早3天
(4) F醫生的值班日在B醫生和C醫生的值班日之間,且是星期四
請編寫程序,輸出每位醫生的值班日。值班日以Sunday, Monday ,Tuesday, Wednesday, Thursday, Friday, Saturday分別表示星期日到星期六。
Input
無
Output
每位醫生的值班日
Sample Input
Sample Output
you guess!
HINT
用枚舉變量。
輸出提示:
Doctor A is on duty Sunday.
Doctor B is on duty??????????? .
Doctor C is on duty??????????? .
Doctor D is on duty??????????? .
Doctor E is on duty??????????? .
Doctor F is on duty??????????? .
Doctor G is on duty??????????? .??? (別忘了每一行最后的點呦)
#include <stdio.h>
#include <stdlib.h>
int main()
{ char str[7][10]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; int A,B,C,D,E,F=4,G; for(A=1;A<=7;A++) for(B=1;B<=7;B++) for(C=1;C<=7;C++) for(D=1;D<=7;D++) for(E=1;E<=7;E++) for(G=1;G<=7;G++) { F=4; if(((F<C)&&(F>B)||(C<F)&&(F<B))&&(B==G-3)&&(C==A-1)&&(D==E+2)&&(A!=B)&&(A!=C)&&(A!=D)&&(A!=E)&&(A!=F)&&(A!=G)&&(B!=C)&&(B!=D)&&(B!=E)&&(B!=F)&&(B!=G)&&(C!=D)&&(C!=E)&&(C!=F)&&(C!=G)&&(D!=E)&&(D!=F)&&(D!=G)&&(E!=F)&&(E!=G)&&(F!=G)) { printf("Doctor A is on duty %s.\n",str[A-1]); printf("Doctor B is on duty %s.\n",str[B-1]); printf("Doctor C is on duty %s.\n",str[C-1]); printf("Doctor D is on duty %s.\n",str[D-1]); printf("Doctor E is on duty %s.\n",str[E-1]); printf("Doctor F is on duty %s.\n",str[F-1]); printf("Doctor G is on duty %s.\n",str[G-1]); } } }