@[项目:实现计算两个任意时刻的差值]
#include<stdio.h>
#include<string.h>
int main(void){
int hour1,minute1;
int hour2,minute2;
printf("请输入您所需要输入的时差:");
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
int ih = hour2 - hour1;
int im = minute2 - minute1;
if(im < 0 && ih > 0){
im = 60 + im;
ih --;
}else if(im <0 && ih <0){
ih = (hour1 + hour2) - 2*hour2 ;
int z = minute1 - minute2;
im = z;
}else if(im >0 && ih < 0){
ih = (hour1 +hour2) -2*hour2 - 1;
int t = (minute1 - minute2) + 60;
im = t;
}else if(im ==0 && ih <0){
int x = hour1 - hour2;
ih = x;
}else if(im <0 && ih == 0){
int y = minute1 -minute2;
im =y;
}
printf("时差结果为:%d时%d分\n",ih,im);
return 0;}
利用简单的逻辑运算和条件判断完成以上的项目
@以上项目的进一步完善
#include<stdio.h>
#include<string.h>
int main(void){
int hour1,minute1;
int hour2,minute2;
printf("请输入您所需要输入的时差:\n(仅支持24时内即正常时间范围内的运算)\n格式为:时 分\n");
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
if(hour1 >24 || minute1 >60){
printf("请输入正确的时刻值!\n");
return 1;
}else if(hour2 >24 || minute2>60){
printf("请输入正确的时刻值!\n");
return 1;
}
int ih = hour2 - hour1;
int im = minute2 - minute1;
if(im < 0 && ih > 0){
im = 60 + im;
ih --;
}else if(im <0 && ih <0){
ih = (hour1 + hour2) - 2*hour2 ;
int z = minute1 - minute2;
im = z;
}else if(im >0 && ih < 0){
ih = (hour1 +hour2) -2*hour2 - 1;
int t = (minute1 - minute2) + 60;
im = t;
}else if(im ==0 && ih <0){
int x = hour1 - hour2;
ih = x;
}else if(im <0 && ih == 0){
int y = minute1 -minute2;
im =y;
}
printf("时差结果为:%d时%d分\n",ih,im);
return 0;
}