需要注意的是如果有多人同时借一本书时要按最后一个人借计算时间,而多个人还书的时候按第一个人还书计算时间(不要问为什么,血和泪的教训)。还有记着四舍五入和每天书刷新数据(默认只能当天借当天还)哈。
#include<stdio.h>
int main(){
int num, i, j, n, h, m, time, outh[1005]={0}, outm[1005]={0}, book[1005]={0}, sum1=0, count=0, sum=0;
char c;
double average;
scanf("%d", &num);
while(sum<num){
scanf("%d %c %d:%d", &n, &c, &h, &m);
if(n==0){
if(count>0){
average=(double)sum1/count;
printf("%d %.0f\n", count, average);//用.0f去四舍五入!!!
}else{
printf("0 0\n");
}
count=0;
sum1=0;//每天总时间(分钟)
sum++;//总天数
int book[1005]={0}, outh[1005]={0}, outm[1005]={0};
}
if(c=='S'&&n!=0){
outh[n]=h;
outm[n]=m;
book[n]=1;
}
if(c=='E'&&book[n]==1&&n!=0){
time=h*60+m-outh[n]*60-outm[n];
sum1=sum1+time;
count++;
book[n]=0;
}
}
return 0;
}
如果有问题,或者不标准的地方希望大家多多指正。