正整数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
#include<stdio.h>
#include<string.h>
int main()
{
int search(char a[],char b);
char DA,DB;
char A[10], B[10];
int i,j,sum;
scanf("%s",A);DA=getchar();DA=getchar();scanf("%s",B);DB=getchar();DB=getchar();
sum=search(A,DA)+search(B,DB);
printf("%d",sum);
return 0;
}
int search(char a[],char b)
{
int i,j=0,k;unsigned int jieguo=0;
for(i=0;i<=strlen(a);i++)
if(a[i]==b) j++;
switch(b)
{
case '0':k=0;break;
case '1':k=1;break;
case '2':k=2;break;
case '3':k=3;break;
case '4':k=4;break;
case '5':k=5;break;
case '6':k=6;break;
case '7':k=7;break;
case '8':k=8;break;
case '9':k=9;break;
default: break;}
int num(int j,int k);
if (k!=0)jieguo=num(j,k);
else jieguo=0;
return jieguo;
}
int num(int j,int k)
{
long w=0;
if (j==1) w=k;
else w=10*num(j-1,k)+k;
return w;
}