| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 402 人关注过本帖
标题:逻辑题,求大神看一下程序哪有问题
取消只看楼主 加入收藏
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
结帖率:78.13%
收藏
已结贴  问题点数:10 回复次数:1 
逻辑题,求大神看一下程序哪有问题
医院有A、B、C、D、E、F、G七位大夫,在一星期内(星期一至星期天)每人要轮流值班一天。现在已知:
        A大夫比C大夫晚一天值班;
        D大夫比E大夫晚二天值班;
        B大夫比G大夫早三天值班;
        F大夫的值班日在B和C大夫的中间,且是星期四;
    请确定每天究竟是哪位大夫值班?
*问题分析与算法设计
    由题目可推出如下已知条件:
        *F是星期四值班;
        *B值班的日期在星期一至星期三,且三天后是G值班;
        *C值班的日期在星期五至星期六,且一天后是A值班;
        *E两天后是D值班;E值班的日期只能在星期一至星期三;
    在编程时用数组元素的下标1到7表示星期一到星期天,用数组元素的值分别表示A~F七位大夫。





#include <stdio.h>
int f(int *a)
{
    a[6]=4;
    int t1=a[2]>=1&&a[2]<=3&&a[2]+3==a[7];
    int t2=a[3]>=5&&a[3]<=6&&a[3]+1==a[1];
    int t3=a[5]>=1&&a[5]<=3&&a[5]+2==a[4];
    return t1&&t2&&t3;
}
void show(int *a)
{
    for(int i=1;i<=7;i++)
        printf("%d\n",a[i]);
}
void g(int *a,int n)
{
    if(n>=7)
    {
        if(f(a)) show(a);
        return;
    }
    a[n]=1;
    g(a,n+1);
    a[n]=2;
    g(a,n+1);
    a[n]=3;
    g(a,n+1);
    a[n]=4;
    g(a,n+1);
    a[n]=5;
    g(a,n+1);
    a[n]=6;
    g(a,n+1);
    a[n]=7;
    g(a,n+1);
}

main()
{
    int a[]={0,0,0,0,0,0,0};
    g(a,1);
}

搜索更多相关主题的帖子: 大夫 
2013-01-31 22:59
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
收藏
得分:0 
回复 4楼 rjsp
const int& A = buf[0];
     const int& B = buf[1];
     const int& C = buf[2];
     const int& D = buf[3];
     const int& E = buf[4];
     const int& F = 4;
     const int& G = buf[5];

这几句什么意思,const int&是什么。。
2013-02-01 19:03
快速回复:逻辑题,求大神看一下程序哪有问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015622 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved