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("= ",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; }