PTA_乙级_1016

PTA_乙级_1016_第1张图片

#include 
#include 
const int MAX_DIGITS=10;//假设最多十位数

using namespace std;
int main(){
    int a,da,b,db;
    cin>>a>>da>>b>>db;

    int digitsA[MAX_DIGITS];
    int digitsB[MAX_DIGITS];
    int countA=0;
    int countB=0;
    int t_A=0;
    int t_B=0;
    int sum=0;
    int sumA=0;
    int sumB=0;

    //利用取余提取出每一位放到数组,倒序的
    while(a>0){
        digitsA[countA++]=a%10;
        a/=10;
    }
    //计算有多少位等于
    for(int i=0;i<countA;i++){
        if(digitsA[i]==da)
            t_A++;
    }

    while(b>0){
        digitsB[countB++]=b%10;
        b/=10;
    }
    for(int i=0;i<countB;i++){
        if(digitsB[i]==db)
            t_B++;
    }

    //求和
   for(int i=t_A-1;i>=0;i--){
       sumA+=da*pow(10,i);
   }

    for(int i=t_B-1;i>=0;i--){
       sumB+=db*pow(10,i);
   }

    sum=sumA+sumB;

    cout<<sum;

    return 0;
}

你可能感兴趣的:(PTA乙级,算法)