题目内容

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

  • A1​ = 能被 5 整除的数字中所有偶数的和;
  • A2​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1​−n2​+n3​−n4​⋯;
  • A3​ = 被 5 除后余 2 的数字的个数;
  • A4​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
  • A5​ = 被 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

结尾无空行

解题思路

题目中给的N的数据范围是1000,所以我们开辟一个大于1000的数组即可使用,但为了增加难度,我选择了另一种实现方式,即使用malloc创建出动态数组来实现。设计5个函数减少代码之间的耦合度,这5个函数分别对应题目中的5个要求,详细见代码

详细代码

#include <iostream>
#include <algorithm>
#include <cstdlib>
using namespace std;
int is_a[5] = {0};
int N;
int a1(int a[]){int sum = 0,count = 0;for(int i = 0;i<N;i++){if(a[i]%5==0&&a[i]%2==0) {sum+=a[i];count++;}}if(count == 0) is_a[0] = 1;return sum;
}
int a2(int a[]){int sum = 0,p = 1,count = 0;for(int i = 0;i<N;i++){if(a[i]%5==1) {sum+=a[i]*p;p = -p;count++;}}if(count == 0) is_a[1] = 1;return sum;}
int a3(int a[]){int count = 0;for(int i = 0;i<N;i++){if(a[i]%5==2) {count++;}}if(count == 0) is_a[2] = 1;return count;}
float a4(int a[]){float sum = 0,count = 0;for(int i = 0;i<N;i++){if(a[i]%5==3) {sum+=a[i];count++;}}if(count == 0) is_a[3] = 1;return sum/count;}
int a5(int a[]){int max = 0,count = 0;for(int i = 0;i<N;i++){if(a[i]%5==4) {if(a[i]>max) max = a[i];count++;}}if(count == 0) is_a[4] = 1;return max;
}
int main(){int n,*a;cin>>n;N = n;a = (int *)malloc(n*sizeof(int));for(int i = 0;i<n;i++){cin>>a[i];}a1(a);a2(a);a3(a);a4(a);a5(a);if(is_a[0]==1) cout<<"N ";else cout<<a1(a)<<" ";if(is_a[1]==1) cout<<"N ";else cout<<a2(a)<<" ";if(is_a[2]==1) cout<<"N ";else cout<<a3(a)<<" ";if(is_a[3]==1) cout<<"N ";else printf("%.1f ",a4(a));if(is_a[4]==1) cout<<"N";else cout<<a5(a);}

PAT乙级 1012 数字分类 (20 分)相关推荐

  1. C++学习之路 | PTA乙级—— 1012 数字分类 (20分)(精简)

    1012 数字分类 (20分) 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A ​1 ​​ = 能被 5 整除的数字中所有偶数的和: A ​2 ​​ = 将被 5 除后余 1 ...

  2. PTA_Pra 1012 数字分类 (20分)

    测试点7出错,原因未知,欢迎讨论 /*PAT (Basic Level) Practice (中文)1012 数字分类 (20分)测试点7出错 原因未知测试点8出错 交错相减其和可能为0 */ # i ...

  3. PAT乙级1012.数字分类

    数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进行分类,并输 ...

  4. pat 乙级 1012 数字分类(C++)

    题目 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1的数字按给出顺序进行交错求和,即计算n1-n2+ ...

  5. 【C++】PAT乙级:1012 数字分类 (20 分)

    本题无甚难度,也不是什么好题,只是刚学一周c++试下手 笔记:<iomanip>库中 cout << setiosflags(ios::fixed) << setp ...

  6. PAT乙类之1012 数字分类 (20 分)

    一. 题目 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A​1= 能被 5 整除的数字中所有偶数的和: A​2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n ...

  7. PAT 1012 数字分类 (20 分)(C语言)

    题目 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n ...

  8. 1012 数字分类 (20 分)(c语言)

    给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1​ = 能被 5 整除的数字中所有偶数的和: A2​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1​−n ...

  9. 极简代码:1012 数字分类 (20分)

    立志用更少的代码做更高效的表达 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A​1 = 能被 5 整除的数字中所有偶数的和: A2= 将被 5 除后余 1 的数字按给出顺序进行 ...

最新文章

  1. pythontkinter真实的例子_python小实例——tkinter实战(计算器)
  2. 使用OpenCV4实现硬件级别加速
  3. 微型计算机技术 第三章,微型计算机技术第三章部分答案概要.docx
  4. 《Science》刊登中科院最新突破,用二氧化碳合成淀粉,网友已开始安排诺贝尔奖...
  5. 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google
  6. list修改元素的值_第115天:Python 到底是值传递还是引用传递
  7. ubuntu修改启动为文本模式
  8. Android__Context
  9. hashmap移除元素_Java HashMap 如何正确遍历并删除元素的方法小结
  10. 让开发人员变平庸的八个习惯,看看你中了几条
  11. CRC32(Cyclic Redundancy Check)循环冗余校验:推导
  12. python和ui设计哪个更好_Python主流IDE对比:Eric VS. PyCharm
  13. 平板电脑怎么投屏到电视上_笔记本电脑可以投屏到电视吗?电脑投屏电视,体验大屏乐趣...
  14. python控制小爱同学_小爱同学控制电脑开机 - IT客栈
  15. bzoj3332: 旧试题
  16. gwas snp 和_【交流】关于SNP与GWAS(Genome Wide Association study)的一些想法
  17. 《二十世纪西方思想文化潮流》笔记--导论5--理性的后果1
  18. Python进阶(九) -- 操作excel文件
  19. 876. 链表的中间结点【我亦无他唯手熟尔】
  20. 软件工程第一次团队作业

热门文章

  1. 勒索病毒克星——No More Ransom
  2. Substance 3D Painter 错误求解
  3. 【推荐实践】用户行为序列推荐模型
  4. 百度地图 驾车导航用来生成路线 轨迹回放(LuShu)
  5. CN_以太网规格和传输介质@双绞线@基带同轴电缆
  6. python contains魔法方法_Python魔法方法详解
  7. React入门(上)
  8. 连接HTB平台openvpn失败
  9. K2L:工业和汽车网络通信设备的开发工具
  10. python画画用哪库好_Python我要学画画-turtle库