在霍格沃茨找零钱 (20分)
总结:
- 计算从低位到高位,低位可以向高位借位。
- 输出从高位到低位。
- 命名空间std里有swap(a,b)函数,需要头文件#include <iostream>和using namespace std;
代码:
#include <cstdio>
void Swap(int &a,int &b){
int temp;
temp = a;
a = b;
b = temp;
}
int main(){
int gp, sp, kp, ga, sa, ka;
int s,k;
scanf("%d.%d.%d", &gp, &sp, &kp);
scanf("%d.%d.%d", &ga, &sa, &ka);
if( gp>ga || (gp==ga && sp>sa) || (gp==ga && sp==sa && kp>ka) ){
Swap(ga,gp);
Swap(sp,sa);
Swap(kp,ka);
printf("-");
}
if( ka<kp ){
sa--;
k = ka+29 -kp ;
}else k= ka-kp;
if( sa<sp){
ga--;
s = sa+17 -sp ;
}else s =sa -sp ;
printf("%d.%d.%d", ga-gp, s, k);
return 0;
}