1012 数字分类
分数 20
作者 CHEN, Yue
单位 浙江大学
输入样例 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
我的代码(26行ac):
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int n; cin>>n;
int a1 = 0,a2 = 0,a3 = 0,a5 = 0;double a4;
int ans[6] = {0};
for(int i=0;i<n;++i){
int num; cin>>num;
if(num%5==0&&num%2==0) ++ans[1],a1 += num;//条件
if(num%5==1){
++ans[2];
if(ans[2]&1) a2 += num;
else a2 -= num;
}
if(num%5==2) ++ans[3],++a3;
if(num%5==3) ++ans[4],a4 += num;
if(num%5==4&&num>a5) ++ans[5],a5 = num;//或者#include<algorithm>然后a5 = max(a5,num);
}
if(ans[1]==0) cout<<"N ";else cout<<a1<<" ";
if(ans[2]==0) cout<<"N ";else cout<<a2<<" ";
if(ans[3]==0) cout<<"N ";else cout<<a3<<" ";
if(ans[4]==0) cout<<"N ";else printf("%.1lf ",a4*1.0/ans[4]);//精确到小数点后一位-->printf来做到
if(ans[5]==0) cout<<"N";else cout<<a5;//没有空格
return 0;
}
ps:
1.1位小数用printf控制,#include[cstdio];
2.最大可以调用函数max(a,b),#include[algorithm],免得自己写;
3.注意空格,注意判断条件。