PAT Basic 1016. 部分A+B (15)(C语言实现)

我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容。此处文章目前已更新至与Github Pages同步。欢迎star我的repo。

题目

正整数 的“ (为 1 位整数)部分”定义为由 中所有 组成的新整数 。例如:给定 , ,则 的“6 部分” 是 66,因为 中有 2 个 6。

现给定 、 、 、 ,请编写程序计算 。

输入格式:

输入在一行中依次给出 、 、 、 ,中间以空格分隔,其中 。

输出格式:

在一行中输出 的值。

输入样例 1:

3862767 6 13530293 3

输出样例 1:

399

输入样例 2:

3862767 1 13530293 8

输出样例 2:

0

思路

,因此要用long int

代码

最新代码@github,欢迎交流

#include 

long Dpart(long A, int D_A)
{
    long P_A;
    for(P_A = 0; A; A /= 10)
        if(A % 10 == D_A)
            P_A = P_A * 10 + D_A;
    return P_A;
}

int main()
{
    long A, B;
    int D_A, D_B;
    scanf("%ld %d %ld %d", &A, &D_A, &B, &D_B);
    printf("%ld", Dpart(A, D_A) + Dpart(B, D_B));

    return 0;
}

你可能感兴趣的:(PAT Basic 1016. 部分A+B (15)(C语言实现))