/*
1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下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
*/
/*
思路:
1.依次录入数据
1.1 根据模数值,判断用例数组元素属于哪一类数据
1.2 根据分类标准,预处理分类数据
2.按照规定格式输出. 注意:
边界条件是细节,例如:对A2计数:判断是否有A2的元素,避免求和结果为0时,引起歧义。
*/
#include <iostream> using namespace std; int main()
{
int size;
int tmp, mod, A2_count = 0,A2_prev = 1, A4_count = 0;//tmp:临时存储原始数据元素;A2_prev:对上一A2元素的正负号标记,默认为+,1:+,-1:-;A3_count:对A3 的元素个数计数
int A1 = 0, A2 = 0, A3 = 0, A5 = -1;//A5:存储被5除后余4的数字中最大数字
double A4 = 0;//A4:存储元素之和,最后求平均数
scanf("%d", &size);
while(size--){
scanf("%d", &tmp);
mod = tmp % 5;
if(mod == 0){
if(tmp % 2 == 0){
A1 += tmp;//A1:能被5整除的数字中所有偶数的和
}
}else if(mod == 1){//A2:将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;
A2 += A2_prev * tmp;
A2_prev *= -1;
A2_count++;//注意:对A2计数原因:判断是否有A2的元素,避免求和结果为0时,引起歧义。
} else if(mod == 2) {//A3:被5除后余2的数字的个数;
A3++;
} else if(mod == 3){//A4:被5除后余3的数字的平均数,精确到小数点后1位;
A4 += tmp;//累计求和
A4_count++;//计数
} else {//A5:被5除后余4的数字中最大数字。
A5 = tmp > A5 ? tmp : A5;
}
} if(A1 != 0){
printf("%d ", A1);
} else {
printf("%s ", "N");
}
if(A2_count != 0){
printf("%d ", A2);
} else {
printf("%s ", "N");
}
if(A3 != 0){
printf("%d ", A3);
} else {
printf("%s ", "N");
}
if(A4 != 0){
printf("%.1f ", A4 / A4_count);
} else {
printf("%s ", "N");
}
if(A5 != -1){
printf("%d", A5);
} else {
printf("%s", "N");
}
// printf("%d %d %d %.1f %d", A1, A2, A3, A4 / A4_count, A5);//test return 0;
}

  

[C++]PAT乙级1012.数字分类 (20/20)的更多相关文章

  1. PAT乙级 1012. 数字分类 (20)

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

  2. PAT 乙级 1012 数字分类 (20) C++版

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

  3. PAT 乙级 1012.数字分类 C++/Java

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

  4. PAT 乙级 -- 1012 -- 数字分类

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

  5. 【PAT】1012. 数字分类 (20)

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

  6. PAT(B) 1012 数字分类(Java)

    题目链接:1012 数字分类 代码 /** * Score 20 * Run Time 142ms * @author wowpH * @version 1.1 */ import java.util ...

  7. PAT Basic 1012 数字分类 (20 分)

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

  8. PAT (Basic Level) Practice 1012 数字分类 分数 20

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

  9. PAT乙级1012

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

随机推荐

  1. Codeforces Round #512 D - Vasya and Triangle

    D - Vasya and Triangle #include<bits/stdc++.h> using namespace std; #define LL long long LL gc ...

  2. [学习笔记]FWT——快速沃尔什变换

    解决涉及子集配凑的卷积问题 一.介绍 1.基本用法 FWT快速沃尔什变换学习笔记 就是解决一类问题: $f[k]=\sum_{i\oplus j=k}a[i]*b[j]$ 基本思想和FFT类似. 首先 ...

  3. bzoj2839 集合计数

    F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ ModifyUser  Logout 捐赠本站 2839: 集合计数 Time ...

  4. 解决python解析文件时输出乱码

    首先获取到json模块,encoding指定文件编码utf-8,errors报错时忽略错误,print()输出结果看看是否有问题. # -*- coding: utf-8 -*- import jso ...

  5. 详解python的垃圾回收机制

    python的垃圾回收机制 一.引子 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存空间给回收掉,而变量名是访问到变量值的唯一方式 ...

  6. 第十六节,使用函数封装库tf.contrib.layers

    这一节,介绍TensorFlow中的一个封装好的高级库,里面有前面讲过的很多函数的高级封装,使用这个高级库来开发程序将会提高效率. 我们改写第十三节的程序,卷积函数我们使用tf.contrib.lay ...

  7. tuple数组、文件操作

    halcon自带案例的学习. Tuple1 := [,,,,] //数组 Number := |Tuple1| //元素个数 SingleElement := Tuple1[] Part := Tup ...

  8. SSH框架下ajax调用action并生成JSON再传递到客户端【以get和post方式提交】

    需要完成的任务: 主要是把JSP页面上图片ID传给服务器端,服务器读取cookie看是否有username,如果有则根据ID读取MongoDB数据库,读出图片URL,再存放到mysql中的collec ...

  9. Luogu P2617 Dynamic Rankings

    带修主席树的模板,因为状态不好所以敲了很长时间,不过写完感觉能更好地理解主席树了. 核心其实就是树状数组套主席树,维护方法不再是以前的那种一步一修改,而是对于树状数组上的每一个点建立一棵权值线段树,然 ...

  10. 环境变量(1):PATH的修改

    1.查看当前PATH值:echo $PATH 2.只在当前会话生效操作 1)PATH=$PATH:/sbin 2)export PATH 3)echo $PATH  --再看此时的PATH值!不过这个 ...