2022冬季pat乙级-创新互联

大一新生第一次考乙级,零零零基础从开学10月份到考试学了有两个月了,学的过程起起伏伏,考试过程也是曲曲折折(本来是在本校考线下的,结果疫情改成了线上,要准备一堆线上的东西),不过还好挺过来了,这次满分也仅仅是因为运气好(灵光一现)罢了。

成都创新互联专注于企业全网营销推广、网站重做改版、鄂城网站定制设计、自适应品牌网站建设、html5成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为鄂城等各大城市提供网站开发制作服务。

3ac01a0caf044a3e89cdaa44d5ff47cc.png

第一题

fdbc89c340964cb1898c7328a6056224.png

55119a6a8c02434794c477ce4426b043.png

思路:这个题目不能用gets或者scanf读入,得用getchar()才行,因为里面有回车。再用strstr读入(掌声)字符串。(有个小细节就是zhangsheng两边有括号,一开始没ac,再加上有点紧张,就先放那了,回来才看到有括号)

代码如下

#include#includeint main(){
    int n,i,k=0,cnt=0;
    char ans[100010],op,*p;
    scanf("%d",&n);
    getchar();
    while((op=getchar())!='#'){
            ans[k++]=op;
    }
    ans[k]='\0';
    while((p=strstr(ans,"(zhangsheng)"))!=NULL){
        cnt++;
        *p=' ';
    }
    printf("%d",cnt);
    if(cnt>=n) printf(" True");
    else printf(" False");
    return 0;
}

第二题

ccc2f05e705141bfb6d836984ef6e92f.png

92de99ec70c548d7a3ed865ab3866581.png

思路:一个模拟题,一开始以为会超时,结果提交竟然过了,就根据题意进行模拟就可以了。

代码如下:

#include#includeint main(){
    int i,j,a,b,max=-1,indexi=0,indexj=0;
    scanf("%d%d",&a,&b);
    for(i=a;i<=b;i++){
        for(j=a;j<=b;j++){
            if(abs(i*i-i*j-j*j)==1){
                if(i*i+j*j>max){
                    max=i*i+j*j;
                    indexi=i;
                    indexj=j;
                }
            }
        }
    }
    printf("max( %d^2 + %d^2 ) = %d",indexj,indexi,max);
    return 0;
}

第三题

(又是大本钟,看来姥姥很喜欢看大本钟啊)

a6961cec339445b59f5ddf3331fdce56.png

3a1c3e4e997342f793c815a03b8b8850.png

53967c4c7ea34f608154fac927418144.png

9ab2c51a36a6459a863d4502312ce0a6.png

思路:排序,先将flag进行初始化(初始值大一点),再对flag进行写入0,1。然后排序同时计数就可以了。

代码如下:

#include#include
using namespace std;
struct _beng{
    int id,flag;
}people[10001];
bool cmp(_beng a,_beng b){
    if(a.flag!=b.flag) return a.flag>b.flag;
    return a.id

第四题

ccf2bd28e4c1462e9b81479c67d3359d.png

7c8e450bfa6a4d6a9198534e9af6dd46.png

1e258929ec25458086ae65e90a46b5af.png

思路:做这题时还有两个多小时一开始以为庞然大物,先跳着写了最后一题,结果最后一题更是磕了一个小时还是wa,心态有点崩溃,回头又做这个题目,静下心又a出来了。此题就是先约数字,用sscanf转为字符串,再遇到相同的统一将该字符变为-1,注意及时break。然后用num1来将字符串转为整形,注意若是-1这跳过。这样消除相同数字对就完成了,接下来就是看是否相等了,用函数判断一下即可。

代码如下:

#include#includeint Gcd(int a,int b){
    return b==0?a:Gcd(b,a%b);
}
int Judage(int a,int b,int c,int d){
    int t1=Gcd(a,b);
    a/=t1;
    b/=t1;
    int t2=Gcd(c,d);
    c/=t2;
    d/=t2;
    if(a==c&&b==d) return 1;
    return 0;
}
int main(){
    int i,j,a,b,c,d;
    char str1[10],str2[10];
    scanf("%d%d",&a,&b);
    sprintf(str1,"%d",a);
    sprintf(str2,"%d",b);
    int len1=strlen(str1),len2=strlen(str2);
    for(i=0;i

第五题

34016ed50f85423ea54d4c58333760ab.png

21bb0bd8b0af4d24a8ee3d34d7a4e870.png

思路:想了有会时间这个题目,先结构体保存几个数据,后来突然想到,插入与删除,才有些眉目。进行是否拿行李进行判定,如果是true,那么后面人直接覆盖前面的人,如果不是那么将队首人用临时变量保存,再进行覆盖,然后将队首人放在队尾完成模拟排队。然后就是一些时间的计算了,按照题目即可。

代码如下:

#includestruct _queqe{
    int id,flag,time;
}stu[1001];
void Change(int n,int cnt){
    if(stu[0].flag==0){
        _queqe fake=stu[0];
        int i;
        for(i=1;imax?stu[i].time:max;
    }
    printf("%d %.1f\n",max,sum/n);
    return 0;
}

以上便是2022冬季乙级pat考试了,总的来说难度还算平和,有质量的题目,准备开始学学数据结构挑战一下甲级(加油!!!)。

送给大家一句话:只管努力,结果不会差的。

这两个月的学习过程,从一开始接触编程c语言开始,在学习的过程也算是自己摸索走过来的,当然也请教了不少学长,给予我了宝贵经验与鼓励。很感谢他们,自己会在编程学习的路上下更多功夫的,加油大伙!!!

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享标题:2022冬季pat乙级-创新互联
链接地址:http://ybzwz.com/article/cccceo.html