工科小石头 2023-02-16 13:15 采纳率: 40%
浏览 33
已结题

关于#c语言#的问题:一道C语言程序设计题

一道C语言程序设计题,明天就要考试了,复习时突然碰见一个没碰过的题型,求解答。

img

  • 写回答

3条回答 默认 最新

  • VVYY要成为大神 2023-02-16 14:13
    关注

    根据已知条件,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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 已采纳回答 2月16日
  • 创建了问题 2月16日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部