![](//img-blog.csdn.net/20170509172819212?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3h5MjAxNjU4NTA2MjA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
const double DISTANCE=4.50;
while(true)//初始默认为while重复循环
{
int n;
scanf("%d",&n);
if(n==0)//此if语句成立时while循环结束
break;
double v,t,x,min=1e100;
for(int i=0;i<n;i++)
{
scanf("%lf%lf",&v,&t);
if(t>0&&(x=DISTANCE*3600/v+t)<min)
min=x;
}
printf("%.01f\n",ceil(min));
}
return 0;
}
//用 法: double ceil(double x);
//功 能: 返回大于或者等于指定表达式的最小整数
//头文件:math.h
//说明:
//float ceil ( float value )
//返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
#include <stdio.h>
int main(void)
{
double number=123.54;
double down,up;
down=floor(number);//小于等于的最大数
up=ceil(number);//大于等于的最小数
printf("original number%5.2lf\n",number);
printf("number rounded down%5.2lf\n",down);
printf("number rounded up%5.2lf\n",up);
return 0;
}
//运行结果:
//originalnumber123.54
//numberroundeddown123.00
//numberroundedup124.00