推销员日志问题求解(循环链表问题)
一推销员在以下城市进行推销工作,在A城市工作3天,B城市工作5天,C城市工作1天,D城市工作3天,E城市工作4天,F城市工作6天,然后再回A城市工作,推销员按照以上顺序工作,这个推销员工作7天后,休息1天,工作100天后回厂家汇报一次工作,汇报完后继续前面的工作,请设计一次C语言程序,使用循环链表打印出他第三次返厂前正在哪一个城市工作?(请麻烦大家讲讲思路,谢谢)
//很久不看数据结构了,看到这种题目有点怀念,以下是我的思路,希望对你有用。
//先构造循环链表head前3个节点的data域值为A,接下来的5个节点的data域值为B,。。。。。依次按题意设置。
p=q=head1;
while(day-i<=300) //day表示总日期,i表示休息日,day-i表示工作日
{ q=p;
if((day-i)%7==0 || (day-i)%100==0)
{i++; //休息日
day++;}
else
p=p->next;
day++;
}
//循环结束后输出q的data域值就行了。
[ 本帖最后由 comewest 于 2014-12-7 00:19 编辑 ]