博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT乙级1012
阅读量:3966 次
发布时间:2019-05-24

本文共 2366 字,大约阅读时间需要 7 分钟。

1012 数字分类 (20分)

题目地址:

给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:

  • \(A_1\) = 能被 5 整除的数字中所有偶数的和;
  • \(A_2\) = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 \(4 n_1−n_2+n_3−n_4⋯\)
  • \(A_3\) = 被 5 除后余 2 的数字的个数;
  • \(A_4\) = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
  • \(A_5\) = 被 5 除后余 4 的数字中最大数字。

输入格式:

每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。

输出格式:

对给定的 N 个正整数,按题目要求计算 A1~A5 并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。

若其中某一类数字不存在,则在相应位置输出 N

输入样例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

我的理解

理解好题意即可。数据对5取余运算,分类处理。

代码段

#include 
#include
#include
using namespace std;int main() { int T; cin >> T; int sample[T]; for (int i = 0; i < T; ++i) { cin >> sample[i]; } int A1 = 0, A2 = 0, A3 = 0, A4 = 0, A5 = -1; // 控制 A2的交错求和 int flagA2 = 1; // 标志A2 是否进行了计算 int isSumA2 = false; // 标志A4的个数,以便于后面计算平均数 int counterA4 = 0; for (int j = 0; j < T; ++j) { int element = sample[j]; int remainder = element % 5; switch (remainder) { case 0: if (element % 2 == 0) { A1 += element; } break; case 1: if (flagA2) { A2 += element; flagA2 = !flagA2; isSumA2 = true; } else { A2 -= element; flagA2 = !flagA2; isSumA2 = true; } break; case 2: A3++; break; case 3: A4 += element; counterA4++; break; case 4: if (A5 < element) { A5 = element; } break; default: break; } } if (A1 != 0) { cout << A1 << " "; } else { cout << "N "; } if (isSumA2) { cout << A2 << " "; } else { cout << "N "; } if (A3) { cout << A3 << " "; } else { cout << "N "; } if (A4) { float result = (float)A4 / (float)counterA4; cout << setiosflags(ios::fixed) << setprecision(1) << result << " "; } else { cout << "N "; } if (A5 > -1) { cout << A5 << endl; } else { cout << "N" << endl; } return 0;}

转载地址:http://tbuki.baihongyu.com/

你可能感兴趣的文章
cookie、session、sessionid 与jsessionid[转]
查看>>
常见Oracle HINT的用法
查看>>
JAVA中各类CACHE机制实现的比较 [转]
查看>>
PL/SQL Developer技巧
查看>>
3-python之PyCharm如何新建项目
查看>>
15-python之while循环嵌套应用场景
查看>>
17-python之for循环
查看>>
18-python之while循环,for循环与else的配合
查看>>
19-python之字符串简单介绍
查看>>
20-python之切片详细介绍
查看>>
P24-c++类继承-01详细的例子演示继承的好处
查看>>
P8-c++对象和类-01默认构造函数详解
查看>>
P1-c++函数详解-01函数的默认参数
查看>>
P3-c++函数详解-03函数模板详细介绍
查看>>
P4-c++函数详解-04函数重载,函数模板和函数模板重载,编译器选择使用哪个函数版本?
查看>>
P5-c++内存模型和名称空间-01头文件相关
查看>>
P6-c++内存模型和名称空间-02存储连续性、作用域和链接性
查看>>
P9-c++对象和类-02构造函数和析构函数总结
查看>>
P10-c++对象和类-03this指针详细介绍,详细的例子演示
查看>>
Mule ESB-Content-Based Routing Tutorial(1)
查看>>