PTA |1016 部分A+B 拆位

47 阅读1分钟

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;
}

image.png

二刷

#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;
}

image.png