c语言分支-12. 计算火车运行时间(15)找不出错误。新手

cwl353253492 2014-10-03 04:00:25
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

输入格式:

输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。

输出格式:

在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

输入样例:
1201 1530
输出样例:
03:29
#include <stdio.h>
int main()
{ int t,a,b,d;
float c;
scanf("%d %d",&a,&b);
c=(b-a)/100.0;
t=b-(int)(c)*100;
printf("%d",t);
if(t>a)
{
d=b-a-c;
printf("%.2d:%.2d",c,d);
}
else{
d=b-a-c-40;
printf("%.2d:%.2d",c-1,d);
}
return 0;
}
...全文
4389 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwl353253492 2014-10-03
  • 打赏
  • 举报
回复
非常感谢哈。没想到取余,还有一个问题如果一个浮点型变量我想取他的整数舍去所有小数该怎么转换。
u010185450 2014-10-03
  • 打赏
  • 举报
回复
你好算法不是很好理解,也有些问题,修改如下: #include <stdio.h> int main() { int t,a,b,d; int c; int m1=0; int m2=0; scanf("%d %d",&a,&b); c=(b-a)/100.0; m1=a%100; m2=b%100; //t=b-(int)(c)*100; //printf("%d\n",t); if(m2 >= m1) { d = m2 - m1; printf("%02d:%02d\n",c,d); } else{ d = m2 + 60 - m1; printf("%02d:%02d\n",c,d); } return 0; }

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧