记PAT乙级1012-数字分类
如果把a1处改为i%5==0&&i%2==0
或者i%10==0
提交时就会有两种情况错误,想了半天搞不清楚
AC代码
#include <cstdio>
int main(){
int count[5]={0};
int ans[5]={0};
int n;
scanf("%d",&n);
while (n--){
int i,isfive;
scanf("%d",&i);
isfive=i%5;//判断是否能被5整除
if(i%5==0){//能被5整除并为偶数 A1类
if(i%2==0){
count[0]++;
ans[0]+=i;
}
}else if(isfive==1){//被5除后余1 A2类
if(count[1]%2==0){
ans[1]+=i;
}else{
ans[1]-=i;
}
count[1]++;
}else if(isfive==2){//a3
count[2]++;
}else if(isfive==3){//a4
count[3]++;
ans[3]+=i;
}else{
if(ans[4]<i) ans[4]=i;
count[4]++;
}
}
if(count[0]==0) printf("N ");
else printf("%d ",ans[0]);
if(count[1]==0) printf("N ");
else printf("%d ",ans[1]);
if(count[2]==0) printf("N ");
else printf("%d ",count[2]);
if(count[3]==0) printf("N ");
else printf("%.1f ",(double)ans[3]/count[3]);
if(count[4]==0)printf("N");
else printf("%d",ans[4]);
return 0;
}
报错的
if(i%5==0&&i%2==0)