2007年第3题

本文介绍了一个使用C语言解决的问题,即通过读取船只进出港口的状态和时间,计算并输出船只进出总数及平均停留时间。程序通过结构体、循环和条件判断实现逻辑处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目地址: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);
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值