C语言怎样截取数字的某几位?/这题怎么做?(在线等)

来源:百度知道 编辑:UC知道 时间:2024/05/17 05:24:20
就为这个。。。

程序填空,不要改变与输入输出有关的语句。
输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是0000到2359,不考虑出发时间晚于到达时间的情况。例:
输入
713 1411(出发7:10,到达14:11)
输出
The train journey time is 6 hrs 58 mins.

#include <stdio.h>
int main( )
{
int time1, time2, hours, mins;

scanf("%d%d", &time1, &time2);
/*---------*/
printf("The train journey time is %d hrs %d mins.\n", hours, mins);
}
--------------------------------------------------------------------------------------
恩,虽然2楼很用心,但...题目里不允许改/* */以外部分的...谢谢你的好心

另外请问,/ 和 % 在整数运算中有什么区别吗
------------------------------------------------------------------------------------------

int main( )
{
int time1, time2, hours, mins;

scanf("%d%d", &time1, &time2);
hours = time2/100 - time1/100;
mins = time2%100 - time1%100;
if(mins < 0) {
hours--;
mins+=60;
}
if(hours < 0) hours+=24;
printf("The train journey time is %d hrs %d mins.\n", hours, mins);
}

/是除
%是取余

我的要烦琐点,不过你看得懂就可以:

#include <stdio.h>

int main( )
{
int time1, time2, hours, mins, t1h, t1m, t2h, t2m;

scanf("%d%d", &time1, &time2);
/*---------*/

t1m = time1 % 100; // 存储time1的分数
t1h = time1 / 100; // 存储time1的小时数

t2m = time2 % 100; // 同上
t2h = time2 / 100; // 同上

if(t2m < t1m)
{
mins = t2m + 60 - t1m; // 不足借60分减去一小时
--t2h;
}
else
mins = t2m - t1m;

if(t2h < t1h)
hours = t2h + 24 - t1h; // 不足借1天
else
hours = t2h - t1h;<