题目链接
这里我选择只用用一个结构体,这个结构体里包含了所有可能用到的类型,然后弄一个结构体类型的数组,分别存四种类型
这里的测试点8卡的是第二种
将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n
这里卡的是结果为0的情况,当和是0的时候需要输出0而不是N
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74#include<iostream> #include<vector> #include<cstdio> using namespace std; struct node{ int total; int cnt; double result; int num; vector<int>ans; }; node a[5]; int calculate(){ int num=0,flag=1; for(int i=0;i<a[1].ans.size();i++){ num+=a[1].ans[i]*flag; flag=-flag; } return num; } int main() { int n,k,Max=-9999,sum=0; cin>>n; for(int i=0;i<n;i++){ cin>>k; sum+=k; if(k%5==0&&k%2==0){ a[0].total+=k; }else if(k%5==1){ a[1].ans.push_back(k); }else if(k%5==2){ a[2].total++; }else if(k%5==3){ a[3].cnt++; a[3].result+=k; }else if(k%5==4){ if(k>=Max){ Max=k; } } } k=calculate(); if(a[0].total!=0&&sum!=0){ cout<<a[0].total; }else{ cout<<"N"; } cout<<" "; if(k!=0||a[1].ans.size()!=0){ cout<<k; }else{ cout<<"N"; } cout<<" "; if(a[2].total!=0){ cout<<a[2].total; }else{ cout<<"N"; } cout<<" "; if(a[3].cnt!=0){ printf("%.1lf",a[3].result*1.0/a[3].cnt); }else{ cout<<"N"; } cout<<" "; if(n!=0&&Max!=-9999){ cout<<Max; }else{ cout<<"N"; } return 0; }
最后
以上就是阳光薯片最近收集整理的关于1012 数字分类 (20 分) 测试点8的全部内容,更多相关1012内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复