1. 程式人生 > 其它 >1016 部分A+B

1016 部分A+B

技術標籤:PTAc++

1016 部分A+B (15分)

正整數 A 的“DA(為 1 位整數)部分”定義為由 A 中所有 D​A 組成的新整數 P​A。例如:給定 A=3862767,D​A​​ =6,則 A 的“6 部分”P​A是 66因為 A 中有 2 個 6。

現給定 A、D​A、B、D​B​​ ,請編寫程式計算 P​A+P​B​​ 。

輸入格式:

輸入在一行中依次給出 A、D
​A​​ 、B、D​B,中間以空格分隔,其中 0<A,B<10​10​​ 。

輸出格式:

在一行中輸出 P​A+P​B的值。

輸入樣例 1:

3862767 6 13530293 3

輸出樣例 1:

399

輸入樣例 2:

3862767 1 13530293 8

輸出樣例 2:

0

題目分析:

1、不斷剝奪個位進行判斷。

程式碼如下:

#include <stdio.h>
int main()
{
	int A,B;
	int PA=0,PB=0,DA,DB;
	scanf("%d %d %d %d",&A,&DA,&B,&DB);
	while(A!=0||B!=0)
	{
		if(A%10==DA) PA=PA*10+DA;
		if(B%10==DB) PB=PB*10+DB;
		A=A/10,B=B/10;
	}
	 printf("%d"
,PA+PB); return 0; }

有需要改進的地方請指出。