#include<stdio.h>
int main()
{
int t,a1=0,a2=0,a3=0,a5=0,count=0;;
double a4=0;
int n,i;
int flag=1;
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&t);
switch(t%5)
{
case 0:if(t%10==0) a1+=t;break;
case 1:a2+=t*flag; flag=-flag; break;
case 2:a3++;break;
case 3:a4+=t;count++;break;
case 4:if (t>a5) a5=t;
}
}
if(a1==0)
printf("N ");
else printf("%d ",a1);
if(a2==0)
printf("N ");
else printf("%d ",a2);
if(a3==0)
printf("N ");
else printf("%d ",a3);
if(a4==0)
printf("N ");
else
{a4/=count;
printf("%.1f ",a4);
}
if(a5==0)
printf("N");
else printf("%d",a5);
return 0;
int main()
{
int t,a1=0,a2=0,a3=0,a5=0,count=0;;
double a4=0;
int n,i;
int flag=1;
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&t);
switch(t%5)
{
case 0:if(t%10==0) a1+=t;break;
case 1:a2+=t*flag; flag=-flag; break;
case 2:a3++;break;
case 3:a4+=t;count++;break;
case 4:if (t>a5) a5=t;
}
}
if(a1==0)
printf("N ");
else printf("%d ",a1);
if(a2==0)
printf("N ");
else printf("%d ",a2);
if(a3==0)
printf("N ");
else printf("%d ",a3);
if(a4==0)
printf("N ");
else
{a4/=count;
printf("%.1f ",a4);
}
if(a5==0)
printf("N");
else printf("%d",a5);
return 0;
}
最后一个测试点错误
仔细查看并尝试几次后,发现a2经过运算后还可能等于0,在判断a2是否为n时再加入一个变量来判断就行了