c语言 值班安排

医院有A、B、C、D、E、F、G 7位大夫,在一星期内(星期一至星期天)每人要轮流值班一天,如果已知: (1)A大夫比C大夫晚1天值班; (2)D大夫比E大夫晚1天值班; (3)E大夫比B大夫早2天值班 (4)B大夫比G大夫早4天值班; (5)F大夫比B大夫晚1天值班; (6)F大夫比C大夫早1天值班; (7)F大夫星期四值班。 就可以确定周一至周日的值班人员分别为:E、D、B、F、C、A、G。 编写程序,根据输入的条件,输出星期一至星期天的值班人员。

输入格式:
先输入一个整数n,再输入n组条件,要求能够根据输入的条件确定唯一的值班表,且输入的n组条件中能够直接或间接得到任意两位大夫的关联关系,例如上面的条件(2)直接显示了D与E间的关系,而通过条件(1)、(6)、(5)可以间接得到A与B的关系。 条件的输入格式有2种: 格式1:编号 比较运算符 编号 天数 其中比较运算符有2种:> 或 < ,分别表示“早”或“晚” 例如:A

输出格式:
输出周一至周日的值班序列。

输入样例:

7
AB2
B>G4
FC1
F=4

输出样例:

EDBFCAG

c语言代码

#include
struct condition{
	int obj1;	//用于存储输入的第一个字母- 'A'的值 
	int obj2;	//存储第二个字母的 
	int num;	//存储数字 
	int ret;	//是否是 =  
}condition[20];

int judge(int *a,int n);	//判断函数 
int main(void)
{
	int n;
	scanf("%d\n",&n);
	int i;
	char s[5];
	
	//录入数据 
	for(i=0; i

你可能感兴趣的:(c语言)