一、7-2 然后是几点 (15 分)
#include "stdio.h"
int main()
{
int time[2] = {0};
int addtime[2] = {0};
int time1 = 0, addtime1 = 0;
scanf("%d",&time1);
scanf("%d",&addtime1);
time[0] = time1%100; //分钟
time[1] = time1/100; //小时
addtime[0] = addtime1%60;
addtime[1] = addtime1/60;
if(addtime1 > 0)
{
if(time[0]+addtime[0] >= 60)
{
time[1] = time[1] + addtime[1] + 1;
time[0] = (time[0] + addtime[0])%60;
}
else{
time[1] = time[1] + addtime[1];
time[0] = time[0] + addtime[0];
}
}
if(addtime1 == 0); //不做处理
if(addtime1 < 0)
{
if(time[0] < -addtime[0])
{
if(time[1] == 0) //0点时候 再减
time[1] = 24;
else
time[1] = time[1] + addtime[1] - 1; //小时
time[0] = time[0] + 60 +addtime[0];
}
if(time[0] > -addtime[0]){
time[1] = time[1] + addtime[1]; //小时
time[0] = time[0] + addtime[0];
}
}
if(time[0] == 0) printf("%d00",time[1]);
else printf("%d%d",time[1],time[0]); //打印处理结果
return 0;
}
总结
思路:
1.用数组Array[2],用第一个元素来表示小时,第二个元素来表示分钟。
2.判断改变的时间是正负数还是0.
3.进行加减,要注意判断小时进位。
4.注意负数时候的处理,负数的余数还是负数;注意分钟0的时候,直接打印字符串"00"即可。