题目简介

给定一系列正整数,请按要求对数字进行分类,并输出以下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

思路

此题虽简单,却有小坑,应仔细。

C++代码样例

#include <cstdio>
#include <iostream>
#include <cstdlib> #define MAX 0x7fffffff using namespace std; int main(void)
{
int *value = NULL;
int n = 0;
int i = 0;
int A1_result = 0, A2_result = MAX, A3_result = 0, A4_result = 0, A4_value = 0, A5_result = 0;
int A2_value = 0, A2_flag = 1;
int A5_max = -9999;
scanf("%d", &n);
value = (int *)malloc(n * sizeof(int));
for (i = 0; i < n; i++)
{
scanf("%d", (value + i));
}
for(i = 0; i < n; i++)
{
if(*(value + i) % 5 == 0 && *(value + i) % 2 == 0)
{
A1_result += (*(value + i));
continue;
}
if(*(value + i) % 5 == 1)
{
A2_value += A2_flag * (*(value + i));
A2_flag *= -1;
A2_result = A2_value;
continue;
}
if(*(value + i) % 5 == 2)
{
A3_result++;
continue;
} if(*(value + i) % 5 == 3)
{
A4_value += (*(value + i));
A4_result++;
continue;
}
if(*(value + i) % 5 == 4)
{
if(*(value + i) > A5_max)
{
A5_max = *(value + i);
}
A5_result = A5_max;
continue;
}
}
if(A1_result)
{
printf("%d ", A1_result);
}
else
{
printf("N ");
}
if(A2_result != MAX)
{
printf("%d ", A2_result);
}
else
{
printf("N ");
}
if(A3_result)
{
printf("%d ", A3_result);
}
else
{
printf("N ");
}
if(A4_result)
{
printf("%.1f ", A4_value / (float)A4_result);
}
else
{
printf("N ");
}
if(A5_result)
{
printf("%d", A5_result);
}
else
{
printf("N");
}
return 0;
}

PAT 乙级 -- 1012 -- 数字分类的更多相关文章

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

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

  2. [C++]PAT乙级1012.数字分类 (20/20)

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

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

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

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

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

  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 1012 数字分类 (20)(代码+测试点)

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

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

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

随机推荐

  1. PHP题库1

    选择题11. php中,不等运算符是( B.C ) A ≠    B !=   C <>   D >< 2. 函数的参数传递包括:( A.B ) A 按值传递       B ...

  2. 漏洞复现-CVE-2015-1427-Groovy远程代码执行

          0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场) 0x01 影响版本 Elasticsearch 1.3.0-1.3. ...

  3. CVE-2019-11043-Nginx PHP 远程代码执行

    漏洞原因 Nginx 上 fastcgi_split_path_info 在处理带有 %0a 的请求时,会因为遇到换行符 \n 导致 PATH_INFO 为空.而 php-fpm 在处理 PATH_I ...

  4. 从零学脚手架(五)---react、browserslist

    如果此篇对您有所帮助,在此求一个star.项目地址: OrcasTeam/my-cli react react介绍 目前,国内主流的前端应用框架具有两个:vue.js和react.js,关于vue和r ...

  5. Hibernate学习实例

    一 Hibernate简介 Hibernate是一种Java语言下的对象关系映射(ORM)解决方案.为面向对象的领域模型到传统的关系型数据库的映射提供了一个使用方便的框架. 二 Hibernate设计 ...

  6. css实现京东顶部导航条

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  7. css字体的属性

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  8. Linux 自定义快捷命令

    Linux中一些比较常用的命令总是重复敲很麻烦,这个时候就可以使用 alias 来自定义快捷命令,用以简化操作.系统会有一些预定义的快捷命令,比如 ll 的效果就和 ls -l 一样. 可以使用 al ...

  9. 通过 Battery Historian 工具分析 Android APP 耗电情况

    电量统计模块概述 Android 从两个层面统计电量的消耗,分别为 软件排行榜 及 硬件排行榜.它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单.这 ...

  10. PureStudy:学科知识分享——个人网站开发全解

    PureStudy:学科知识分享--个人网站开发全解 项目描述 PureStudy,学科知识分享网站. 学生可以使用这个网站,来浏览相应学科的知识点.学习总结,获取相关的资料.此外,他们可以选择上传文 ...