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 }