測試點8考察的是A2=n1-n2+n3-n4…正好等於0的時候,應該輸出0而不是N。
解決方法,設一個變量num2,記錄下A2讀入了幾個數,num2爲0輸出N,否則輸出0。
C
#include <stdio.h>
#include <string.h>
#pragma warning(disable:4996)
int max(int a,int b)
{
if(a>=b)
return a;
else
return b;
}
int main(void)
{
int a[5],i,T,input,flag=1,num1=0,num3=0;
memset(a,0,sizeof(a));
scanf("%d",&T);
while(T--)
{
scanf("%d",&input);
if(input%10==0)
a[0]+=input;
else if(input%5==1)
{
a[1]+=flag*input;
flag*=-1;
num1++;
}
else if(input%5==2)
a[2]++;
else if(input%5==3)
{
a[3]+=input;
num3++;
}
else if(input%5==4)
a[4]=max(a[4],input);
else
continue;
}
for(i=0;i<5;i++)
if(i==1)
{
if(num1)
printf(" %d",a[i]);
else
printf(" N");
}
else if(i==3)
{
if(a[i]==0)
printf(" N");
else
printf(" %.1f",(double)a[3]/num3);
}
else if(a[i]==0)
printf(i==0?"N":" N");
else
printf(i==0?"%d":" %d",a[i]);
return 0;
}