一道C语言程序设计题,明天就要考试了,复习时突然碰见一个没碰过的题型,求解答。
一道C语言程序设计题,明天就要考试了,复习时突然碰见一个没碰过的题型,求解答。
收起
根据已知条件,F为星期四是可以知道的,可以将星期一至星期日分别看成1-7,然后通过多重循环,先将A从1开始,B,C,D,E,F,G也都是这样,然后通过条件判定来得出医生的分别值班数值,注意该条件中每个医生的数值不能相等,即可算出。(还是大一新生,写的有点麻烦,不知道有没有更好的方法)
#include <stdio.h>
int main(void)
{
int A=1,B=1,C=1,D=1,E=1,F=4,G=1;
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++){
if(A==C+1 && D==E+2 && B==G-3 && B+C==2*F && A!=B && A!=D && A!=E && A!=F && A!=G && B!=C && B!=D && B!=E && B!=F && C!=D && C!=E && C!=F && C!=G && D!=F && D!=G && E!=F && E!=G && F!=G){
printf("A在星期%d值班\nB在星期%d值班\nC在星期%d值班\nD在星期%d值班\nE在星期%d值班\nF在星期%d值班\nG在星期%d值班\n",A,B,C,D,E,F,G);
}
}
}
}
}
}
}
return 0;
}
报告相同问题?