首页 > 其他 > 详细

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

时间:2020-02-29 23:01:08      阅读:233      评论:0      收藏:0      [点我收藏+]

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("\n");
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("\n%d %d",counter_student,counter_goods);
41     else printf("0 0");
42     return 0;
43 }
View Code

 

 

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

原文:https://www.cnblogs.com/a982961222/p/12386431.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!