1012 数字分类 (20 分)
题目链接
算法分析
用switch判断各种情况,然后分类处理即可。
代码实现
#include<bits/stdc++.h>
using namespace std;
int sum1, sum2, t1 ,t2, t3, t4, sum4, max5, change = 1;
int main(){
int N;
scanf("%d", &N);
int x;
for(int i = 1; i <= N; ++ i){
scanf("%d", &x);
switch(x % 5){
case 0:
if(x % 2 == 0){
sum1 += x;
t1 ++;
}
break;
case 1:
t2 ++;
sum2 += x * change;
change = -1 * change;
break;
case 2:
t3 ++;
break;
case 3:
t4 ++;
sum4 += x;
break;
case 4:
if(x > max5) max5 = x;
break;
}
}
double ans4 = sum4 * 1.0 / t4;
if(t1 != 0) cout<< sum1<< ' ';
else cout<< "N ";
if(t2 != 0) cout<< sum2<< ' ';
else cout<< "N ";
if(t3 != 0) cout<< t3<< ' ';
else cout<< "N ";
if(t4 != 0) cout<< fixed<< setprecision(1)<< ans4;
else cout<< "N";
if(max5 != 0) cout<< ' '<< max5;
else cout<< " N";
return 0;
}