pat Simulation Test for PAT(B) 9月4日

来源:互联网 发布:淘宝订单贷款提前收款 编辑:程序博客网 时间:2024/05/17 08:46

A 统计字符 (15分)

#include<bits/stdc++.h>using namespace std;int main(){    int i,a,b,c,d;    char s;    a=0;b=0;c=0;d=0;    for(i=0;i<10;i++)    {        s=getchar();        if(s<='Z'&&s>='A') a++;        else if(s<='z'&&s>='a') a++;        else if(s<='9'&&s>='0') c++;        else if(s==' '||s==10) b++;        else d++;    }    s=getchar();    printf("letter = %d, blank = %d, digit = %d, other = %d\n",a,b,c,d);    return 0;}

B 换硬币 (20分)

#include<bits/stdc++.h>int main(){    int cnt,n,a,b,c,d;    scanf("%d",&n);    cnt=0;    for(a=(n-1-2)/5;a>=1;a--)        for(b=(n-a*5-1)/2;b>=1;b--)    {        c=n-a*5-b*2;        cnt++;        printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",a,b,c,a+b+c);    }    printf("count = %d\n",cnt);    return 0;}

D IP地址转换 (20分)

#include<bits/stdc++.h>using namespace std;int main(){    int i,len,t,p;    char s[40];    scanf("%s",s);    for(i=7,t=0,p=1;i>=0;i--)    {        t=t+p*(s[i]-48);        p*=2;    }    printf("%d.",t);    for(i=15,t=0,p=1;i>=8;i--)    {        t=t+p*(s[i]-48);        p*=2;    }    printf("%d.",t);    for(i=23,t=0,p=1;i>=16;i--)    {        t=t+p*(s[i]-48);        p*=2;    }    printf("%d.",t);    for(i=31,t=0,p=1;i>=24;i--)    {        t=t+p*(s[i]-48);        p*=2;    }    printf("%d\n",t);    return 0;}

C 组个最小数 (20分)

#include<bits/stdc++.h>int main(){    int a[20],i,n;    memset(a,0,sizeof(a));    for(i=0; i<=9; i++)        scanf("%d",&a[i]);    if(a[0]!=0)    {        for(i=1; i<=9; i++)            if(a[i]) break;        printf("%d0",i);        a[i]--;        a[0]--;    }    for(i=0; i<=9; i++)        while(a[i])        {            printf("%d",i);            a[i]--;        }    printf("\n");    return 0;}

E 模拟EXCEL排序 (25分)

0 0