正整数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; }