《2017年11月15日》【连续036天】
标题:枚举(生理周期)的练习和const关键字的学习;
内容:A.观看MOOC(二)1.2,(三)1.2;
B.((a).生理周期:
人有体力,情商,智商高峰的日子,它们分别每隔23天,28天和33天出现一次。给定三个高峰出现的日子p,e和i(不一定是第一次高峰出现的日子),再给定另一个指定的日子d,任务是输出日子d之后,下一次三个高峰落在同一天的日子(用距离d的天数表示)。
输入:p,e,i和d。所有给定日子是非负的并且小于或等于365。
输出:Case caseno (//第几组输入的数):the next triple peak occurs in (k-d)days.
k<=21252;
注意:我们可以在确定d后的第一个体力高峰时,直接跳到下一个体力高峰;同理,确定其他高峰;
int p,e,i,d,caseno=0;
while(cin>>p>>e>>i>>d&&p!=-1){
caseno++;
int k;
for( k=d+1;(k-p)%23;++k);
for(;(k-e)%28;k+=23);
for(;(k-i)%33;k+=23*28);
cout<<"Case "<<caseno<<":the next triple peak occurs in "<<k-d<<" days."<<endl;
(b).const:
1)定义常量
2)定义常量指针
不可通过常量指针修改其指向的内容;
常量指针的指向可以变化;
不能把常量指针赋值给非常量指针,反过来可以:
const int*p1;int *p2;
p1=p2; //ok
p2=p1; //error
p2=(int *)p1; //ok
函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容;
3)定义常引用
不能通过常引用修改其引用的变量;
明日计划:继续枚举例题的练习;