给定一系列正整数,请按要求对数字进行分类,并输出以下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 N,M,sum=0,i,temp,j=1; float count=0,f; int s[5]={0}; scanf("%d",&N); for(i=0;i<N;i++) { scanf("%d",&M); temp=M%5; if(temp==0) { if(M%2==0) { s[0]+=M; } } if(temp==1) { s[1]+=M*j; j=j*(-1); sum++; } if(temp==2) { s[2]++; } if(temp==3) { s[3]+=M; count++; } if(temp==4) { if(M>s[4]) { s[4]=M; } } } j=1; for(i=0;i<5;i++) { if(i==3){ if(s[3]==0) { printf(" N"); } else { f=(float)(s[3]/count); printf(" %.1f",f); } } else if(i==1) { if(sum==0) { printf(" N"); } else{ printf(" %d",s[i]); } } else{ if(j==1) { if(s[i]!=0) { printf("%d",s[i]); j=0; } else{ printf("N"); j=0; } } else{ if(s[i]!=0) { printf(" %d",s[i]); } else { printf(" N"); } } } } }