刷题笔记:PAT真题在线练习数字分类
来源:互联网 发布:linux schedule 编辑:程序博客网 时间:2024/06/05 00:08
题目
题目描述
给定一系列正整数,请按要求对数字进行分类,并输出以下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”。
输入例子:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出例子:
30 11 2 9.7 9
解析
题目十分简单就是考察逻辑。
本人答案
#include <iostream>using namespace std;#define len 1000int fun_A1(int* A, int N){ int sum=0; for(int i=0;i<N;i++) { if(A[i]%10==0) sum += A[i]; } return sum;}int fun_A2(int* A, int N){ int sum=0; int t = 0; for(int i=0;i<N;i++) { if(A[i]%5==1) { if(t%2==0) sum += A[i]; else sum -= A[i]; t++; } } return sum;}int fun_A3(int* A, int N){ int sum=0; for(int i=0;i<N;i++) { if(A[i]%5==2) sum++; } return sum;}double fun_A4(int* A, int N){ int sum=0; int t=0; for(int i=0;i<N;i++) { if(A[i]%5==3) { sum += A[i]; t++; } } return sum/(double)t;}int fun_A5(int* A, int N){ int temp=0; for(int i=0;i<N;i++) { if(A[i]%5==4) { if(temp<A[i]) temp = A[i]; } } return temp;}int main(){ int N = 0; int A[len] = {0}; cin>>N; for(int i=0;i<N;i++) { cin>>A[i]; } int A1 = fun_A1(A,N); if(A1) printf("%d ",A1); else printf("N "); int A2 = fun_A2(A,N); if(A2) printf("%d ",A2); else printf("N "); int A3 = fun_A3(A,N); if(A3) printf("%d ",A3); else printf("N "); double A4 = fun_A4(A,N); if(A4>0.01) printf("%.1f ",A4); else printf("N "); int A5 = fun_A5(A,N); if(A5) printf("%d\n",A5); else printf("N\n");}
阅读全文
0 0
- 刷题笔记:PAT真题在线练习数字分类
- 刷题笔记:PAT真题在线练习数素数
- 刷题笔记:PAT真题在线练习A+B和C
- 刷题笔记:PAT真题在线练习福尔摩斯的约会
- 1012. 数字分类 (20)-PAT乙级真题
- pat乙级真题 1012. 数字分类 (20)
- 1012. 数字分类 (20) PAT乙级真题
- PAT乙级真题及训练集(7)--1012. 数字分类 (20)
- pat乙级真题--1019. 数字黑洞
- PAT乙级题1012.数字分类
- 1075. 链表元素分类(25)-PAT乙级真题
- 1075. 链表元素分类(25) PAT乙级真题
- 1044. 火星数字(20)-PAT乙级真题
- 1019. 数字黑洞 (20)-PAT乙级真题
- 1048. 数字加密(20)-浙大PAT乙级真题
- PAT乙级(Basic Level)真题 1009.数字黑洞
- 1019. 数字黑洞 (20) PAT乙级真题
- 1044. 火星数字(20) PAT乙级真题
- 数学建模程序与方法之非线性规划
- 微信APP支付Java服务端
- 【12.12直播】北美KubeCon国内首轮深度解读!
- 条件编译
- JAVA基础:abstract class \ interface
- 刷题笔记:PAT真题在线练习数字分类
- 面向协议与面向对象的区别
- 运行时如何给java对象动态的属性赋值
- BZOJ3207+2802+2318+1933+1934题解 12.11
- 个人规划(一)
- Windows套接字I/O模型(2) -- Select模型
- RHCS集群套件
- HttpServletRequest介绍
- 波和振动动的关系与时域和频域的关系一致吗