首页 > 技术文章 > 2.1.2 骑自行车的最短时间

sxy201658506207 2017-05-09 17:31 原文

#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

推荐阅读