Codeup——575 | 问题 H: 部分A+B (15)

题目描述

正整数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的值。

样例输入

3862767 6 13530293 3
3862767 1 13530293 8

样例输出

399
0

思路:将A、B看成是字符串,DA、DB看成是字符,再定义两个字符数组m、n,在A中寻找DA,这样就可以把A里的DA全部放入n中,用atoi()函数将n字符串转换成数字就可以了,对于B也是这样操作,最后n+m。

#include 
#include 
#include 
#include 
using namespace std;

int main()
{
	char a[11],b[11],d1,d2;
	char m[11],n[11];
	int i,j,sum;
	while(scanf("%s %c %s %c",a,&d1,b,&d2)!=EOF){
		sum=0;
		memset(m,0,sizeof(m));
		memset(n,0,sizeof(n));
		for(i=0,j=0;i<strlen(a);i++)
			if(a[i]==d1)
				m[j++]=d1;
		for(i=0,j=0;i<strlen(b);i++)
			if(b[i]==d2)
				n[j++]=d2;
		sum=atoi(m)+atoi(n);
		cout <<sum<<endl;
	}
	return 0;
}

你可能感兴趣的:(Codeup)