1016 部分A+B (15 point(s))

正整数 A 的“DA(为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 PA。例如:给定 A=3862767,DA=6,则 A 的“6 部分”PA 是 66,因为 A 中有 2 个 6。

现给定 A、DA、B、DB,请编写程序计算 PA+PB。

输入格式:

输入在一行中依次给出 A、DA、B、DB,中间以空格分隔,其中 0<A,B<1010。

输出格式:

在一行中输出 PA+PB 的值。

输入样例 1:

3862767 6 13530293 3

输出样例 1:

399

输入样例 2:

3862767 1 13530293 8

输出样例 2:

0

 经验总结:

这一题也是基本题啦,读入可以使用字符数组,处理起来更方便一些,计算指定数字的个数,然后根据指定数字个数形成PA和PB,最后相加输出就行啦~~ヾ(*´▽‘*)ノ

AC代码

#include <cstdio>


int main()
{
char a[12],b[12],da,db;
while(~scanf("%s %c %s %c",a,&da,b,&db))
{
int acount=0,bcount=0;
for(int i=0;a[i]!='\0';++i)
{
if(a[i]==da)
++acount;
}
for(int i=0;b[i]!='\0';++i)
{
if(b[i]==db)
++bcount;
}
int sa=0,sb=0;
for(int i=0;i<acount;++i)
sa=10*sa+da-48;
for(int i=0;i<bcount;++i)
sb=10*sb+db-48;
printf("%d",sa+sb);
}
return 0;
}