坑点:注意初始化数组为0要判断a2是否出现过-因为a2交错相减后可能为初始数
考察知识点:
1.分类数据
2.按要求输出
#include<stdio.h>
int main(void){
int i=1,t=0,n,m,j=0;
float x[6]={0};//为了之后输出方便设置数组统计(由于a4要求保留小数故全部设置float型,这样可以直接设置循环按要求输出)
scanf("%d",&n);
while(--n>=0){//由于目的只是循环n次故用while()
scanf("%d",&m);
if(m%5==0&&m%2==0)//被5整除且为偶数(m%2==0)
x[1]+=m;
else if(m%5==1){
j=1;//设置开关变量检验是否存在数据
x[2]+=i*m;
i=-i;//交错求和
}
else if(m%5==2)
x[3]++;
else if(m%5==3){//计数目求平均值
t++;
x[4]+=m;
}
else if(m%5==4&&m>x[5])//求最大值
x[5]=m;
}
for(i=1;i<=5;i++){
if(i!=4&&((i==2&&j!=0)||(i!=2&&x[i]!=0)))//由于除了a4输出格式都是一样的故可以合并按要求输出
printf("%.f%c",x[i],i!=5?' ':'\n');
else if(i==4&&x[i])//对a4特别输出
printf("%.1f ",x[4]/t);
else//其余无数据的一律输出N
printf("N%c",i!=5?' ':'\n');
}
return 0;
}