1036 接力赛
题意:给出每个选手每跑一圈的用时,计算出选手跑1km所需要的时间
解析:总路程除以总时间就是速度,再计算出1km用时即可
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n,sumtime,num;
double d;
char h,m1,m2,s1,s2;
scanf("%d",&n);
scanf("%lf",&d);
while(scanf("%d",&num)!=EOF)
{
printf("%3d ",num);
bool flag=true;
sumtime=0;
for(int i=0;i<n;i++)
{
getchar();
scanf("%c:%c%c:%c%c",&h,&m1,&m2,&s1,&s2);
if(h=='-') flag=false;
if(flag==false) continue;
sumtime=sumtime+(h-'0')*3600+((m1-'0')*10+(m2-'0'))*60+(s1-'0')*10+s2-'0';
}
//cout<<sumtime<<endl;
if(flag)
{
int t2=sumtime/d+0.5;
//cout<<"t2="<<t2<<endl;
if(t2-t2/60*60<10)
printf("%d:0%d min/km\n",t2/60,t2-t2/60*60);
else
printf("%d:%d min/km\n",t2/60,t2-t2/60*60);
}
else
printf("-\n");
}
return 0;
}
1037 函数题
题意:给出3个数字,找出第一个比168小的数字,输出crash,否则输出 no crash
解析:挨个判断,满足则输出
#include <stdio.h>
int main() {
int i, a[3];
while(~scanf("%d%d%d", &a[0], &a[1], &a[2])) {
for(i=0; i<3; i++) {
if(a[i] < 168)
break;
}
if(i==3)
printf("NO CRASH\n");
else
printf("CRASH %d\n", a[i]);
}
return 0;
}
1038 自行车测速器
题意:给出车轮直径,转数和行程的总时间,来确定行驶的总距离(英里)和平均速度(以英里每小时)
解析:注意单位的换算和数据类型的区分。
#include <iostream>
#include <cstdio>
using namespace std;
#define PI 3.1415927
int main()
{
double d,t;
int q;
double s;
double v;
int flag=1;
while (~scanf("%lf%d%lf",&d,&q,&t))
{
if (q==0)
break;
s=PI*d*q/(5280*12);
t/=3600;
v=s/t;
printf ("Trip #%d: %.2lf %.2lf\n",flag++,s,v);
}
return 0;
}