PTA | 程序设计类实验辅助教学平台 (pintia.cn)
这道题不要想复杂了,就是一个拆位问题
#include<iostream>
using namespace std;
//拆位
int com(int x,int dx)
{
int res=0;
//如果拆出来的数合法,保存一下
while(x)
{
if(x%10==dx)
{
res=res*10+dx;
}
x/=10;
}
return res;
}
int main()
{
int a,da,b,db;
cin>>a>>da>>b>>db;
cout<<com(a,da)+com(b,db)<<endl;
return 0;
}
二刷
#include <iostream>
using namespace std;
int main() {
string a, b;
int da, db, pa = 0, pb = 0;
cin >> a >> da >> b >> db;
for (int i = 0; i < a.length(); i++)
if (da == (a[i] - '0')) pa = pa * 10 + da;
for (int i = 0; i < b.length(); i++)
if (db == (b[i] - '0')) pb = pb * 10 + db;
cout << pa + pb;
return 0;
}