思路:直接按照减法算A-P就行
代码如下
#include <iostream>
using namespace std
;
int swap(int &a
, int &b
);
int main() {
int G1
, G2
, G3
, S1
, S2
, S3
, K3
, K1
, K2
;
scanf("%d.%d.%d %d.%d.%d", &G1
, &S1
, &K1
, &G2
, &S2
, &K2
);
int flag
= false;
if(G1
> G2
|| (G1
== G2
&& S1
> S2
) || (G1
== G2
&& S1
== S2
&& K1
> K2
) ) {
int temp
; flag
= true;
swap(G1
, G2
); swap(S1
, S2
); swap(K1
, K2
);
}
if(K2
>= K1
) K3
= K2
- K1
;
else { K3
= K2
+ 29 - K1
; S2
--; }
if(S2
>= S1
) S3
= S2
- S1
;
else { S3
= S2
+ 17 - S1
; G2
--; }
G3
= G2
- G1
;
if(flag
) printf("-");
printf("%d.%d.%d\n", G3
, S3
, K3
);
}
int swap(int &a
, int &b
) {
int temp
;
temp
= a
; a
= b
; b
= temp
;
}
反馈:之前一直以为差为负数也可以直接用A减P,还是得先交换位置再加负号才行
转载请注明原文地址: https://mac.8miu.com/read-450042.html