当前位置: 代码迷 >> 综合 >> PAT Basic Level-1016 部分a+b
  详细解决方案

PAT Basic Level-1016 部分a+b

热度:26   发布时间:2023-12-05 22:30:54.0

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

输出格式:

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

思路:

一道大水题,按题意模拟即可

上代码:

#include <stdio.h>
int trans(int n,int d1);
int main(){int a,b,d1,d2,p1,p2;scanf("%d %d %d %d",&a,&d1,&b,&d2);p1=trans(a,d1);p2=trans(b,d2);printf("%d",p1+p2);
} 
int trans(int n,int d1){int sum=0;while(n>0){int k;k=n%10;if(k==d1) sum=sum*10+d1;n/=10;}return sum;
}

  相关解决方案