PAT_B_1016 部分A+B

題目描述:spa

正整數 A 的「D​A​​ (爲 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

本人AC代碼:blog

// 1016 部分A+B (15 分)
# include <stdio.h>

int main(void)
{
	char A[11], B[11];
	int D_A, D_B, Sum;
	int N_A=0, N_B=0;  //  構造新的 Pa Pb 
	int L_A=0, L_B=0;  //  A B 的長度
	int i=0;
	scanf("%s",A);
	scanf("%d",&D_A);
	scanf("%s",B);
	scanf("%d",&D_B);
	
	while(A[i] != '\0')
	{
		if ((A[i]-'0') == D_A)
		{
			L_A++;
		}
		i++;
	}
	i=0;
	while(B[i] != '\0')
	{
		if ((B[i]-'0') == D_B)
		{
			L_B++;
		}
		i++;
	}
	//  計算 D_A  D_B
	for (i=0; i<L_A; i++) 
	{
		N_A = (N_A*10+D_A);
	} 
	
	for (i=0; i<L_B; i++) 
	{
		N_B = (N_B*10+D_B);
	} 
	Sum = N_A + N_B;
	
	printf("%d",Sum);
	
	return 0;
}

RRRio

相關文章
相關標籤/搜索