PAT乙级1072-----开学寄语 (20分)

Posted a982961222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级1072-----开学寄语 (20分)相关的知识,希望对你有一定的参考价值。

1072 开学寄语 (20分)

技术图片

 

 

输入样例:

4 2
2333 6666
CYLL 3 1234 2345 3456
U 4 9966 6666 8888 6666
GG 2 2333 7777
JJ 3 0012 6666 2333
 

输出样例:

U: 6666 6666
GG: 2333
JJ: 6666 2333
3 5


思路:
1.用数组下标表示违禁物品编号
2.不满4位数要补0,例如:编号12输出时为0012


首次通过代码:
技术图片
 1 #include<stdio.h>
 2 
 3 int main(){
 4     int n,m;int num[10004]={0};
 5     scanf("%d %d",&n,&m);
 6     for(int i=0;i<m;i++){
 7         int a;
 8        scanf("%d",&a);
 9        num[a]=1;
10     }
11     int counter_student=0;int counter_goods=0;
12     for(int i=0;i<n;i++){
13         char name[6];int a;int c1=0;
14         scanf("%s %d",name,&a);
15         for(int j=0;j<a;j++){
16             int b;
17             scanf("%d",&b);
18             if(num[b]==1){
19                 if(c1==0) {
20                   if(counter_student!=0) printf("
");
21                   printf("%s: ",name);
22                   if(b<1000&&b>=100) printf("0"); 
23                   else if(b<100&&b>=10) printf("00");
24                   else if(b<10)  printf("000");
25                   printf("%d",b);
26                   counter_student++;c1++;
27                 }
28                 else {
29                   printf(" ");
30                   if(b<1000&&b>=100) printf("0"); 
31                   else if(b<100&&b>=10) printf("00");
32                   else if(b<10)  printf("000");
33                  printf("%d",b);
34                  c1++;
35                 }
36             }
37         }
38         counter_goods+=c1;
39     }
40     if(counter_student>0) printf("
%d %d",counter_student,counter_goods);
41     else printf("0 0");
42     return 0;
43 }
View Code

 

 

以上是关于PAT乙级1072-----开学寄语 (20分)的主要内容,如果未能解决你的问题,请参考以下文章

PTA 乙级 (1072 开学寄语 (20分))

PAT 1072 开学寄语

PAT_B_1072 开学寄语

1072 开学寄语 (20 分)(变量太多,把自己绕晕。养成注释习惯!并不会耽误时间,反而提高效率 )

1072 开学寄语 (20 分)(变量太多,把自己绕晕。养成注释习惯!并不会耽误时间,反而提高效率 )

1072. 开学寄语(20)