#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 ",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 ",number); printf("number rounded down%5.2lf ",down); printf("number rounded up%5.2lf ",up); return 0; } //运行结果: //originalnumber123.54 //numberroundeddown123.00 //numberroundedup124.00