oj---pat---b1016

#include<cstdio>
int process(int n,int d){
    int res=0;
    while(n!=0){
        if(n%10==d)
            res=res*10+n%10;
        n/=10;
    }
    return res;
}
int main(){
    int a,da,b,db,pa,pb;
    while(scanf("%d %d %d %d",&a,&da,&b,&db)!=EOF){
        pa=process(a,da);
        pb=process(b,db);
        printf("%d\n",pa+pb);
    }
    return 0;
}
时间: 2024-11-02 23:35:42

oj---pat---b1016的相关文章

PAT B-1016 部分A+B

正整数 A 的“D?A??(为 1 位整数)部分”定义为由 A 中所有 D?A?? 组成的新整数 P?A??.例如:给定 8,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. 输出格式: 在一行中输出 P?A??+P?B?? 的值. 输入样例 1: 3862767 6 1353029

【PAT】B1016 部分A+B(15 分)

#include<cstdio> using namespace std; int main(){ char A[20],DA,B[20],DB; int AA=0,BB=0; scanf("%s %c %s %c",A,&DA,B,&DB); char *p=A;int pa=0,pb=0; while(*p!='\0'){ if(*p==DA) pa++; p++; } p=B; while(*p!='\0'){ if(*p==DB) pb++; p++

【PAT】B1016 部分A+B

水题 以字符和字符串形式储存输入,比较,计算出两个个数的D的个数,用for循环拼成P,相加得出结果 #include<stdio.h> int main(){ char A[20],DA,B[20],DB; int AA=0,BB=0; scanf("%s %c %s %c",A,&DA,B,&DB); char *p=A;int pa=0,pb=0; while(*p!='\0'){ if(*p==DA) pa++; p++; } p=B; while(*

PAT/简单模拟习题集(一)

B1001.害死人不偿命的(3n+1)猜想 (15) Description: 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展-- 我们今天

PAT 1035

PAT的题有些很无聊的... (多数) 1 #include <vector> 2 #include <string> 3 #include <iostream> 4 #include <fstream> 5 6 using namespace std; 7 8 #define OJ 9 10 #ifdef OJ 11 #define fin cin 12 #endif 13 14 struct Student{ 15 string name; 16 boo

PAT 07-2 A+B和C

有两个值得注意的地方:1.变长数组(VLA)的使用,没想到PAT上的OJ竟然支持C99,一开始不知道就没用,看了看别人的,既然,还是用吧, 它有一点我不太喜欢,它不能像一般数组那样在声明时通过赋一个0让全部元素初始化为零,等等,有点理解了.2.long long长整型的格式化输入输出,都要在"%d"中间插入"ll",所以,算了吧,还是定义一个临时变量更方便.题设要求及代码实现如下 /* Name: Copyright: Author: Date: 01/04/15

PAT——甲级1046S:shortest Distance

这道题,折磨了我一个多小时,前前后后写了三个算法. 1046 Shortest Distance (20 point(s)) The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair of exits. Input Specification: Each input

PAT 1048数字加密

本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10.Q 代表 11.K 代表 12:对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10.这里令个位为第 1 位. 输入格式: 输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔. 输出格式: 在一行中输出加密后的结果. 输入样例: 1234567 3

PAT 1009 说反话 C语言

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格. 输出格式:每个测试用例的输出占一行,输出倒序后的句子. 输入样例: Hello World Here I Come 输出样例: Come I Here World Hello 1 #include<stdio.h> 2 #

PAT 1006 换个格式输出 C语言

让我们用字母B来表示"百".字母S表示"十",用"12...n"来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个"百".3个"十".以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000). 输出格式:每个测试用例的输出占一行,用规定的格式输出n. 输入样例1: 234 输出样例1: BBSSS1