题解 | #肥宅の简单分类#
肥宅の简单分类
https://ac.nowcoder.com/acm/problem/21432
这题有点坑 主要是结果一要求的是偶数;结果二控制好符号正负交错变化就好,但是结果二可能是零,所以要使用一个计数变量判断是否存在数字满足模除于5余2;结果三加个计数变量就好;结果四加起来除于计数变量就行,结果不会等于0的;结果五,由于都是正整数,所以不包括零,可以使用变量max=0进行判断。
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int num,n,sum0=0,sum1=0,sum2=0,count1=0,count2=0,count3=0,max4=0;
double sum3=0;
cin>>n;
while(n--){
cin>>num;
int temp = num%5;
switch(temp){
case 0:
if(num%2==0)
sum0+=num;
break;
case 1:
if(count1%2==0)
sum1+=(1*num);
else
sum1+=((-1)*num);
count1++;
break;
case 2:
count2++;
break;
case 3:
sum3+=num;
count3++;
break;
case 4:
max4>num?max4=max4:max4=num;
break;
default:
break;
}
if(cin.get()=='\n') break;
}
if(sum0!=0){
cout<<sum0<<' ';
}else{
cout<<'N'<<' ';
}
if(count1!=0){
cout<<sum1<<' ';
}else{
cout<<'N'<<' ';
}
if(count2!=0){
cout<<count2<<' ';
}else{
cout<<'N'<<' ';
}
if(sum3!=0){
double number = 1.0*sum3/(count3);
printf("%.1lf ",number);
}else{
cout<<'N'<<' ';
}
if(max4!=0){
cout<<max4<<' ';
}else{
cout<<'N'<<' ';
}
cout<<endl;
}
}