计算时间差V1.0
题目内容:
编程从键盘任意输入两个时间(例如4时55分和1时25分),计算并输出这两个时间之间的间隔。要求不输出时间差的负号。
程序的运行结果示例1:
Input time one(hour, minute):4,55↙
Input time two(hour, minute):1,25↙
3 hour 30 minute
程序的运行结果示例2:
Input time one(hour, minute):1,56↙
Input time two(hour, minute):3,25↙
1 hour 29 minute
输入提示信息:
“Input time one(hour, minute):”
“Input time two(hour, minute):”
输入格式:"%d,%d"
输出格式:"%d hour %d minute\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:500ms内存限制:32000kb
代码如下:
/*计算时间差V1.0*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int hour,minute;
int hour1,minute1;
int hour2,minute2;
printf("Input time one(hour, minute):");
scanf("%d,%d",&hour1,&minute1);
printf( "Input time two(hour, minute):");
scanf("%d,%d",&hour2,&minute2);
minute1=hour1*60+minute1;
minute2=hour2*60+minute2;
minute=fabs(minute1-minute2);
hour=minute/60;
minute=minute-hour*60;
printf("%d hour %d minute\n",hour,minute);
return 0;
}
这道题解决的主要思想是先将输入的两个时间统一化成分(minute),再计算两个时间的差(这里得到的差不能为负数,调用fabs();),然后将得到的差再转换成 时+分 ,这里要利用好表达式计算过程得到的数据类型
主要体现在
hour=minute/60;
这里计算后得到仍然是整型数据