题目:
![1016 部分A+B](https://img2022.cnblogs.com/blog/1053464/202205/1053464-20220526084256057-2098989509.png)
代码实现:
#include <stdio.h>
int main() {
char a[11], b[11], da, db;
// 获取输入的值
if (scanf("%s %c %s %c", a, &da, b, &db) == 4) {
int na = 0, nb = 0;
// 计算 da 在 a 中出现的次数
for (int i = 0; a[i] != '\0'; i++) {
if (a[i] == da) {
na++;
}
}
// 计算 db 在 b 中出现的次数
for (int i = 0; b[i] != '\0'; i++) {
if (b[i] == db) {
nb++;
}
}
// 2的31次方 > 2 * 10的9次方,所以有符号数的 int 也能够存储
unsigned int pa = 0, pb = 0;
for (int i = 1; i <= na; i++) {
// 计算 pa 的值
int num = da - '0';
pa = num + (pa * 10);
}
for (int i = 1; i <= nb; i++) {
// 计算 pb 的值
int num = db - '0';
pb = num + (pb * 10);
}
printf("%u\n", pa + pb);
}
return 0;
}