方法1:(自写)
思路 A,B视为string型,每一位与‘0’相减所得结果与DA、DB比较
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
string A,B;
int da,db,an,bn;
int suma=0,sumb=0,ka=1,kb=1;
cin>>A>>da>>B>>db;
an=A.length();
bn=B.length();
for(int i=0;i<an;i++){
if((A[i]-'0')==da){
suma =suma+da*ka;
ka=ka*10;
}
}
for(int i=0;i<bn;i++){
if((B[i]-'0')==db){
sumb =sumb+db*kb;
kb=kb*10;
}
}
cout<<suma+sumb;
return 0;
}
方法2:
思路:将A、B视为int型,从个位开始比较(A%10)
#include<iostream>
using namespace std;
int main()
{
/*输入*/
int A, DA, B, DB, PA = 0, PB = 0;
cin >> A >> DA >> B >> DB;
/*判断*/
int i, k = 0;
for (i = 0; A != 0 || B != 0; i++)
{
if (A != 0) {
/*给PA赋值*/
if (A % 10 == DA)
{
A = A / 10;
PA = PA * 10 + DA;
}
else
A = A / 10;
}
if (B != 0) {
/*给PB赋值*/
if (B % 10 == DB)
{
B = B / 10;
PB = PB * 10 + DB;
}
else
B = B / 10;
}
}
cout << PA + PB;
return 0;
}