给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:
A1 = 能被5整除的数字中所有偶数的和;
A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;
A3 = 被5除后余2的数字的个数;
A4 = 被5除后余3的数字的平均数,精确到小数点后1位;
A5 = 被5除后余4的数字中最大数字。
#include<iostream>
#include<iomanip>
#include<stdio.h>
int main()
{
using namespace std;
int n,a[2222];
while(~scanf("%d",&n))
{
int b[5]={0};
double b3;
int ii=0;
int sum=0;
int sum1=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
if(a[i]%5==0&&a[i]%2==0)
b[0]+=a[i];
}
for(int i=0;i<n;i++)
{
if(a[i]%5==1)
{
if(ii%2==0)
b[1]+=a[i];
else
b[1]-=a[i];
ii++;
}
}
for(int i=0;i<n;i++)
{
if(a[i]%5==2)
b[2]++;
}
for(int i=0;i<n;i++)
{
if(a[i]%5==3)
{
sum++;
sum1+=a[i];
}
}
if(sum!=0)
b3=(double)sum1/sum;
for(int i=0;i<n;i++)
{
if(a[i]%5==4)
{
if(b[4]<a[i])
b[4]=a[i];
}
}
cout <<setiosflags(ios::fixed);
if(b[0]==0)
cout<<"N ";
else
cout<<b[0]<<" ";
if(b[1]==0)
cout<<"N ";
else
cout<<b[1]<<" ";
if(b[2]==0)
cout<<"N ";
else
cout<<b[2]<<" ";
if(sum1==0)
cout<<"N ";
else
cout<<setprecision(1)<<b3<<" ";
if(b[4]==0)
cout<<"N";
else
cout<<b[4];
}
return 0;
}
//语言:C++ 运行时间: 5 ms 占用内存:396K