行车路程

2024-08-23 13:08
文章标签 路程 行车

本文主要是介绍行车路程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

小明开车从杭州去上海,但是车上的里程计坏了,无法计算里程了。幸好速度计等其他原件正常,所以小明可以保持恒定的速度行驶,并且可以根据路况调整行车速度。
同时小明身上有一块秒表,并且记录了从出发到每次行车速度改变时所经过的时间。现在小明想知道出发之后的某些时刻他已行驶的路程是多少。

输入格式

输入包含若干行。每行先输入一个从出发开始所经过的时间,格式为hh:mm:ss,如果此时汽车速度改变了,则在时间之后空一格输入一个正整数,表示新的速度,单位为km/h。
行程最开始时汽车是静止的,输入中的时间保证是按照非递减顺序给出的,每个时刻至多只有一次速度改变。

输出

对于每组输入,输出每个查询(输入中没有速度改变的那些行就是查询)的时间和此时已经经过的路程,具体格式见输出样例。

样例输入

00:00:01 100
00:15:01
00:30:01
01:00:01 50
03:00:01
03:00:05 140

样例输出

00:15:01 25.00 km
00:30:01 50.00 km

03:00:01 200.00 km


#include "stdio.h"
#include "string.h"
#include "math.h"int main()
{char tar[20];int h,m,s,len,now = 0,T = 0;float D = 0,V = 0;while(gets(tar)){h = 10*(tar[0]-'0') + (tar[1]-'0');m = 10*(tar[3]-'0') + (tar[4]-'0');s = 10*(tar[6]-'0') + (tar[7]-'0');now = 3600*h + 60*m + s;len = strlen(tar);if(len == 8){D += V*(now - T)/3600;printf("%s %.2f KM\n",tar,D);T = now;}else{D += (now - T)*V/3600;T = now;for(int j=9; j<len; ++j){V = V + (tar[j]- '0')*pow(10,len-j-1);}}}
}


这篇关于行车路程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099471

相关文章

新路程------imx6的uart小结(1)

imx6用的是RS485,今天看看这个接口是怎么初始化的。 首先在./arch/arm/mach-mx6/board-mx6q_sabresd.c里找uart的相关信息 在static void __init mx6_sabresd_board_init(void)肯定会有初始化的相关信息 gpio_request(SABRESD_EPDC_PWRSTAT, "uart

新路程------imx6 lvds ioctl

最近有个需求,做一些接口给上层应用调用 于是看了一下驱动,linux有一套标准的framebuffer机制让我们做接口,就是fb_ioctl 首先看对应的framebuffer驱动,在之前的ldb.c中,确实配置了对应的fb_info结构体,但是要修改这个结构体的参数并不需要在ldb.c中做,在mxc_ipuv3_fb.c里 static struct fb_ops mxcfb_ops

新路程------英飞凌imx6的lvds驱动

最近拿到一块开发版,打算在lvds上做些小修改,之前也接触过一点驱动,但是现在的驱动框架看起来和之前的有点差异。 关于lcd的参数信息请参考这篇文章 http://blog.csdn.net/longxiaowu/article/details/24319933  lvds的驱动在framebuffer驱动之下,也就是上层应用只知道有个framebuffer设备也就是dev/fb,而至于下

新路程----海思 uboot(1)

先看start.s吧 .globl _start //.global声明_start为全局符号,_start就会被连接器链接到,也就是链接脚本中的入口地址了。_start: b reset //跳转到reset 下面的代码是设置arm的异常向量表ldr pc, _undefined_instruction //把label后的数据或者指令内容赋值给pcldr pc, _softw

新路程------编译海思代码遇到的问题

问题如下,解决方案就在问题下方,我的ubuntu版本是14.04 ********************************************************************** “mkimage” command not found – U-Boot images will not be built sudo apt-get install u-boot-

新路程--------安装海思Hi3516A/Hi3516D SDK出现问题

搞板子首先要配置开发环境,这个编译的要求不高,所以虚拟机就可以搞定了,于是我就在windows上装了vm然后安装了虚拟机 vm的版本是11,ubuntu的版本是12.04,别的我没试过,至少可以保证这两个是ok的。    然后装sdk,根据使用说明来,先copy sdk到home目录下(哪个目录应该无所谓,为了方便起见放在了home里),然后点击那个sdk.unpack,结果出问题了

新路程------hi3516a的uart rts cts功能

有位前辈写了以gpio方式控制rts,在驱动内核中修改http://blog.csdn.net/edw200/article/details/52251385?locationNum=4   就是在发送前拉高,发送后拉低,但是这样要计算时间,比较麻烦,而且不同的波特率容易时间计算不准确,所以还是应该由上层把这个事做了,也就是用ioctl的形式来做,这样比较安全放心。        r

新路程------hi3516a 在应用层对寄存器的操作

由于在应用层没法用writel,所以参考himm.c写了一个设置,代码如下: void uart1_rtsn_high(void) {     void * pMem  = NULL;   pMem = memmap(0x201d0010, DEFAULT_MD_LEN);   *(U32*)pMem = 0xff; } 文件名是rs485.c,但是用arm-hisiv300-linux

新路程------hi3516a uart1 rs485

我选用的转换ic 是SN65HVD82 ,控制DE和RE控制输出还是接收 是UART1_RTSN/GPIO9_2/UART3_RXD 控制 himm 0x200f0078    0x00 #SET DIR AS OUT  himm 0x201d0400    0x84 #SET DIR AS LOW himm 0x201d0010    0x00 然后看看uart1的设置是否正常,跑

新路程------udev影响sd卡挂载

本来想搞个开机自动挂载sd卡,那在fstab里加了这么句话 /dev/mmcblk0p1   /mnt          vfat   defaults        0       0 奇怪的是看log报错了 [rcS]: /etc/init.d/S09mountall.sh mount: mounting /dev/mmcblk0p1 on /mnt failed: No such