PAT A1058 A+B in Hogwarts

//非常重要的是关于进位的处理,这一题是参考书上的的,还要再看
#include<stdio.h>
int main(){
    int a[3],b[3],c[3];
    scanf("%d.%d.%d %d.%d.%d",&a[0],&a[1],&a[2],&b[0],&b[1],&b[2]);
    int carry=0;//进位,不懂
    c[2]=(a[2]+b[2])%29;//取得2号位的结果
    carry=(a[2]+b[2])/29;//进位
    c[1]=(a[1]+b[1]+carry)%17;//获得1号位的结果,加上进位
    carry=(a[1]+b[1]+carry)/17;//进位
    c[0]=a[0]+b[0]+carry;//获得0号位的结果
    printf("%d.%d.%d",c[0],c[1],c[2]);
    return 0;
} 


你可能感兴趣的:(C++,算法,pat)