1012. 数字分类 (20)

题目链接:https://www.patest.cn/contests/pat-b-practise/1012

思路:用一个数组存储数据,然后逐个判断该数属于哪类,然后再按要求求每类要输出的值。

注意点:注意可能为0 的情况,和输出高的格式。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int num[1000];
 5     int i,n;
 6     scanf("%d",&n);
 7     for(i=0;i<n;i++)scanf("%d",&num[i]);
 8     int A[5]={0,0,0,0,0};
 9     int a1,a3;
10     a1=1,a3=0;
11     for(i=0;i<n;i++)
12     {
13         switch(num[i]%5)
14         {
15             case 0:
16                 if(num[i]%2==0)A[0]+=num[i];
17                 break;
18             case 1:
19                 if(a1%2==0)A[1]-=num[i];
20                 else A[1]+=num[i];
21                 a1++;
22                 break;
23             case 2:
24                 A[2]++;
25                 break;
26             case 3:
27                 A[3]+=num[i];
28                 a3++;
29                 break;
30             case 4:
31                 if(num[i]>A[4])A[4]=num[i];
32                 break;
33         }
34     }
35     if(A[0]==0)printf("N ");
36     else printf("%d ",A[0]);
37     if(a1==1)printf("N ");             //注意A[1]可能等于0 
38     else printf("%d ",A[1]);
39     if(A[2]==0)printf("N ");
40     else printf("%d ",A[2]);
41     if(A[3]==0)printf("N ");
42     else printf("%.1f ",(float)A[3]/a3);
43     if(A[4]==0)printf("N");
44     else printf("%d",A[4]);
45     return 0;
46 } 

 

posted @ 2018-01-20 20:47  爱你的笑  阅读(377)  评论(0编辑  收藏  举报