1012 數(shù)字分類 (20 分)
給定一系列正整數(shù),請按要求對數(shù)字進(jìn)行分類,并輸出以下 5 個數(shù)字:
A?1?? = 能被 5 整除的數(shù)字中所有偶數(shù)的和;
A?2?? = 將被 5 除后余 1 的數(shù)字按給出順序進(jìn)行交錯求和,即計(jì)算 n?1???n?2??+n?3???n?4???;
A?3?? = 被 5 除后余 2 的數(shù)字的個數(shù);
A?4?? = 被 5 除后余 3 的數(shù)字的平均數(shù),精確到小數(shù)點(diǎn)后 1 位;
A?5?? = 被 5 除后余 4 的數(shù)字中最大數(shù)字。
輸入格式:
每個輸入包含 1 個測試用例。每個測試用例先給出一個不超過 1000 的正整數(shù) N,隨后給出 N 個不超過 1000 的待分類的正整數(shù)。數(shù)字間以空格分隔。
輸出格式:
對給定的 N 個正整數(shù),按題目要求計(jì)算 A?1??~A?5?? 并在一行中順序輸出。數(shù)字間以空格分隔,但行末不得有多余空格。
若其中某一類數(shù)字不存在,則在相應(yīng)位置輸出 N。
輸入樣例 1:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
輸出樣例 1:
30 11 2 9.7 9
輸入樣例 2:
8 1 2 4 5 6 7 9 16
輸出樣例 2:
N 11 2 N 9
#include <stdio.h>
#include <math.h>
int main()
{
int a[1000],a1=0,a2=0,a3=0,a5=0,n,i,f=1,num=0,num2=0,flag=0,flg=0;
double a4=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]%5==4&&flag==0)
{
a5=a[i];
flag=1;
}
if(a[i]%5==0&&a[i]%2==0)
{
a1+=a[i];
}
if(a[i]%5==1)
{
a2+=(a[i]*f);
f=-f;
flg=1;
}
if(a[i]%5==2)
{
a3++;
}
if(a[i]%5==3)
{
num+=a[i];
num2++;
}
if(a[i]%5==4&&a[i]>a5&&flag==1)
{
a5=a[i];
}
}
if(num2!=0)
a4=1.0*num/num2;
if(a1==0)
{
printf("N ");
}
else
{
printf("%d ",a1);
}
if(flg==0)
{
printf("N ");
}
else
{
printf("%d ",a2);
}
if(a3==0)
{
printf("N ");
}
else
{
printf("%d ",a3);
}
if(num2==0)
{
printf("N ");
}
else
{
printf("%.1lf ",a4);
}
if(flag==0)
{
printf("N");
}
else
{
printf("%d",a5);
}
return 0;
}
/***********************************
* 小柳學(xué)渣
* 2019/1/24
**********************************/