题目地址:http://jobdu.sinaapp.com/problem.php?pid=1022
C语言源码:
#include<stdio.h>
typedef struct boat
{
int time;
int state;
}boat;
boat b[101];
int main()
{
int num,i,stime,snum,minite,hour;
char state;
scanf("%d",&num);
while(num!=-1)
{
for(i=0;i<101;i++)
b[i].state=-1;
snum=0;
stime=0;
while(num!=0)
{
scanf(" %c %d:%d",&state,&hour,&minite);
if(state=='S'&&b[num].state==-1)
{
b[num].time=hour*60+minite;
b[num].state=1;
}
if(state=='E'&&b[num].state==1)
{
snum++;
stime+=hour*60+minite-b[num].time;
b[num].state=-1;
}
scanf("%d",&num);
}
if(num==0)
scanf(" %c %d:%d",&state,&hour,&minite);
if(snum==0)
printf("0 0\n");
else
printf("%d %.0lf\n",snum,(double)stime/snum);
scanf("%d",&num);
}
}
本文介绍了一个使用C语言解决的问题,即通过读取船只进出港口的状态和时间,计算并输出船只进出总数及平均停留时间。程序通过结构体、循环和条件判断实现逻辑处理。
5790

被折叠的 条评论
为什么被折叠?



