c语言分支-12. 计算火车运行时间(15)找不出异常。新手
c语言分支-12. 计算火车运行时间(15)找不出错误。新手
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
输入格式:
输入在一行中给出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;
}
------解决思路----------------------
你好算法不是很好理解,也有些问题,修改如下:
#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;
}
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
输入格式:
输入在一行中给出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;
}
------解决思路----------------------
你好算法不是很好理解,也有些问题,修改如下:
#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;
}