PAT 乙级 1012 数字分类


解题思路:此题不难,但是烦在格式繁琐,需要注意的点特别多
c语音版
#include<stdio.h>
int main()
{
int a1=0,a2=0,a5=0;
int count[6]={0};
double a4=0;
int n;
scanf("%d",&n);
int num;
int flag=1;
while(n--)
{
scanf("%d",&num);
if(num%10==0)
{
count[1]++;
a1+=num;
}
if(num%5==1)
{
count[2]++;
a2+=flag*num;
flag=-flag;
}
if(num%5==2)
{
count[3]++;
}
if(num%5==3)
{
count[4]++;
a4+=num;
}
if(num%5==4&&num>a5)
{
count[5]++;
a5=num;
}
}
if(count[1])
printf("%d",a1);
else
printf("N");
int i;
for(i=2;i<=5;i++)
{
if(count[i]==0)
{
printf(" N");
continue;
}
else
switch(i)
{
case 2: printf(" %d",a2);break;
case 3: printf(" %d",count[3]);break;
case 4: printf(" %.1f",a4*1.0/count[4]);break;
case 5: printf(" %d\n",a5);break;
}
}
return 0;
}