当前位置: 代码迷 >> 综合 >> PAT (Basic Level) Practice (中文)1016 部分A+B (15分)(C语言版)
  详细解决方案

PAT (Basic Level) Practice (中文)1016 部分A+B (15分)(C语言版)

热度:49   发布时间:2023-12-01 22:28:31.0

1016 部分A+B (15分)

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

代码:

#include<stdio.h>int main(void)
{char str1[13], str2[13];int da, db;int a = 0, b = 0;int i = 0;scanf("%s %d %s %d", str1, &da, str2, &db);while(str1[i] != '\0' && i < 11){if(str1[i++] == da + '0')	a = a * 10 + da;}i = 0;while(str2[i] != '\0' && i < 11){if(str2[i++] == db + '0')	b = b * 10 + db;}printf("%d\n", a + b);return 0;
}

 

  相关解决方案