1012 数字分类 (20分)
用vis数组判断没有对应类型的数字,不能用a[i]的值为0判断,因为0的值模5也为0.
int a[10];
bool vis[10];
int cnt;
int n;
int main()
{
while(cin>>n)
{
memset(a,0,sizeof a);
memset(vis,0,sizeof vis);
cnt=0;
int flag=1;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
if(x % 5 == 0 && x % 2 == 0)
{
a[0]+=x;
vis[0]=true;
}
if(x % 5 == 1)
{
a[1]+=flag*x;
flag=-flag;
vis[1]=true;
}
if(x % 5 == 2)
{
a[2]++;
vis[2]=true;
}
if(x % 5 == 3)
{
cnt++;
a[3]+=x;
vis[3]=true;
}
if(x % 5 == 4)
{
a[4]=max(a[4],x);
vis[4]=true;
}
}
for(int i=0;i<5;i++)
{
if(i) cout<<' ';
if(!vis[i]) cout<<'N';
else if(i == 3) printf("%.1f",(double)a[3]/cnt);
else cout<<a[i];
}
cout<<endl;
}
//system("pause");
return 0;
}