这题怎么改啊,哪里错了题目描述从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:

这题怎么改啊,哪里错了
题目描述从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示.
输入
输入包括两行.第一行为时间点1.第二行为时间点2.
输出
以“小时:分钟:秒”的格式输出时间间隔.格式参看输入输出.样例输入12:01:12
13:09:43样例输出1:08:31这是我做的#include
#include
int main()
{
int a,b,c,x,i,j;
int h,m,s,d,e,f;
scanf("%d:%d:%d",&x,&i,&j);
printf("n");
a=x*3600+i*60+j;
scanf("%d:%d:%d",&h,&m,&s);
b=h*3600+m*60+s;
if(b>a)
c=b-a;
d=c/3600;
e=(c-d*3600)/60;
f=c-d*3600-e*60;
printf("%d:%2d:%d",d,e,f);
if(b
thankzero 1年前 已收到1个回答 举报

jhl2003 幼苗

共回答了17个问题采纳率:94.1% 举报

大概就这样了
#include
#include
int main()
{
int a,b,c,x,i,j;
int h,m,s,d,e,f;
printf("请输入第一个时间:n");
scanf("%d:%d:%d",&x,&i,&j);
a=x*3600+i*60+j;
printf("请输入第二个时间:n");
scanf("%d:%d:%d",&h,&m,&s);
b=h*3600+m*60+s;
if(b>a){
c=b-a;
d=c/3600;
e=(c-d*3600)/60;
f=c-d*3600-e*60;
if(e>=10&&f>=10)
printf("%d:%d:%dn",d,e,f);
else if(e=10)
printf("%d:%0d:%dn",d,e,f);
else if(e

1年前 追问

2

thankzero 举报

错的, 题目描述 从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。 输入 输入包括两行。第一行为时间点1。第二行为时间点2。 输出 以“小时:分钟:秒”的格式输出时间间隔。格式参看输入输出。样例输入12:01:12 13:09:43样例输出1:08:31

举报 jhl2003

else if(e<10&&f>=10) printf("%d:%0d:%dn",d,e,f); 这行不小心写错了 你把printf("%d:%0d:%dn",d,e,f);改成printf("%d:0%d:%dn",d,e,f); 就行了
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.031 s. - webmaster@yulucn.com