正整数 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
输出格式:
在一行中输出 PA+PB的值。
输入样例 1:
3862767 6 13530293 3
输出样例 1:
399
输入样例 2:
3862767 1 13530293 8
输出样例 2:
0
解题思路:用字符数组存储数字串,用整型变量存储数字,然后遍历字符数组,按照题给条件作判断,得出两个数字串的所求数字,最后相加输出。
关键判断条件:字符数字与字符0相减,得到的是数字本身的数值(本质是ASCII码相减),如 ‘9’ - ‘0’ == 9。
#includeusing namespace std; int main() { char arr[10] = { 0 }, str[10] = { 0 }; int arr_temp = 0, str_temp = 0; cin >> arr >> arr_temp >> str >> str_temp; int arr_num = 0, str_num = 0; for (int i = 0; i < 10; i++) { if (arr[i] - '0' == arr_temp) arr_num = arr_num * 10 + arr_temp; if (str[i] - '0' == str_temp) str_num = str_num * 10 + str_temp; } cout << arr_num + str_num << endl; return 0; }



