1012. 数字分类 (20)
时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:
A1 = 能被5整除的数字中所有偶数的和; A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...; A3 = 被5除后余2的数字的个数; A4 = 被5除后余3的数字的平均数,精确到小数点后1位; A5 = 被5除后余4的数字中最大数字。输入格式:
每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。数字间以空格分隔。
输出格式:
对给定的N个正整数,按题目要求计算A1~A5并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。
若其中某一类数字不存在,则在相应位置输出“N”。
输入样例1:13 1 2 3 4 5 6 7 8 9 10 20 16 18输出样例1:
30 11 2 9.7 9输入样例2:
8 1 2 4 5 6 7 9 16输出样例2:
N 11 2 N 9
#include<stdio.h> int main() { int num; int a; scanf("%d",&num); int i;double avg=0,sum4=0;int m1=0,m2=0,m3=0; int sum1=0,t=0,sum2=0,sum3=0,t2=0,t5=0,max=0; for(i=0;i<num;i++) { scanf("%d",&a); if(a%5==0) { //m1++; if(a%2==0){ sum1+=a; m1++;} } else if(a%5==1) { t++; if(t%2!=0) { sum2+=a; } else if(t%2==0) { sum2-=a; } } else if(a%5==2) { m2++; sum3++; } else if(a%5==3) { t2++; sum4+=a; avg=sum4/t2; } else if(a%5==4) { m3++; // max=a; if(a>max) max=a; } } if(m1>0) { printf("%d ",sum1); } else printf("N "); if(t>0) { printf("%d ",sum2); } else printf("N "); if(m2>0) { printf("%d ",sum3); } else printf("N "); if(t2>0) { printf("%.1f ",avg); } else printf("N "); if(m3>0) { printf("%d",max); } else printf("N"); //printf("%d %d %d %.1f %d",sum1,sum2,sum3,avg,max); return 0; }