本文主要是介绍九度oj 题目1022:游船出租 【ZJU2007考研机试题3】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目1022:游船出租结果四舍五入:先转化为浮点数,在看差值决定要不要加一。
/* */
#include<stdio.h>
#include<math.h>
int cnt,time;
struct E{int begin;int end;
}boat[101];
void init()
{cnt=0;time=0;int i;for(i=1;i<101;i++){ //船的编号从0-->100.boat[i].begin=-1;boat[i].end=-1;}
}
int main()
{//freopen("G:\\in.txt","r",stdin);int num,hour,min;char ch;init();while(1){scanf("%d",&num);getchar(); if(num==-1) break;//输入数字后要想输入字符,必须加个getchar(),抵掉回车;scanf("%c%d%*c%d",&ch,&hour,&min); //%d %c%d可以跳过%d与%c之间任意多的空格,取第一个非空格赋值给ch;//%d%c%d此格式%d与%c之间不允许有空格,空格也要赋值给ch;if(num==0){if(cnt==0)printf("0 0\n"); //等于0不能直接做除法,会溢出。!!else{ double tmpTime=(double)time;double ans=tmpTime/cnt;int answer;if(ans-time/cnt<0.5)answer=time/cnt;elseanswer=time/cnt+1;printf("%d %d\n",cnt,answer);}init();continue;}if(ch=='S')boat[num].begin=hour*60+min;if(ch=='E'){boat[num].end=hour*60+min;if(boat[num].begin!=-1){cnt++;time=time+boat[num].end-boat[num].begin;boat[num].begin=boat[num].end=-1;}elseboat[num].end=-1;}}return 0;
}
这篇关于九度oj 题目1022:游船出租 【ZJU2007考研机试题3】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!