题目简介

给定一系列正整数,请按要求对数字进行分类,并输出以下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. 178. 分数排名 + MySql + RANK() OVER

    178. 分数排名 LeetCode_MySql_178 题目描述 题解分析 排名函数 DENSE_RANK().如果使用 DENSE_RANK() 进行排名会得到:1,1,2,3,4. RANK() ...

  2. 记录安装freeswitch的日常

    已知安装版本:Linux:Centos7 Freeswitch:1.10.2 解: 注意:(最好呢是先下载好包,然后上传到这个所用的环境中) 1.安装对应依赖 yum install -y git a ...

  3. 【测试技术分享】在Linux下安装Python3

    导语:Python在linux环境下没有安装包,同时很多系统没有Python环境,即使有Python环境也是Python2.x,顺应时代,现在开始进行安装Python3的教程. 一.安装依赖 sudo ...

  4. C语言之漫谈指针(上)

    C语言之漫谈指针(上) 在C语言学习的途中,我们永远有一个绕不了的坑,那就是--指针. 在这篇文章中我们就谈一谈指针的一些基础知识. 纲要: 零.谈指针之前的小知识 一.指针与指针变量 二.指针变量的 ...

  5. 微信小程序应用开发-手动创建

    基础知识: index.wxml的代码为 Html,有很多标签,如等 index.wwss相当于css 即样式 index.js中有很多函数,可自定义 操作步骤: 删除app.json文件中page/ ...

  6. ssh 免登录配置

    引子 近日海淘了一个 mini-PC:Gigabyte GB-BSRE-1605,此设备虽采用 amd 嵌入式低功耗处理器,性能相比现在自己所用的设备却有不小提升,加上先前升级电脑多余一些 ssd 和 ...

  7. Git 上传项目到 Github

    Git 上传项目到 Github 该文章主要讲解Git 上传项目到 Github,Gitee同理 配置Git 下载.安装Git 下载后一路(傻瓜式安装)直接安装即可 如果第一次使用git的话,需要设置 ...

  8. Spring工程搭建

    创建Maven项目 1.下载Maven资源包 http://maven.apache.org/download.cgi 2.打开IDEA创建Maven项目 在新建项目窗口选择Maven项目:检查当前S ...

  9. java例题_07 字符串的处理

    1 /*7 [程序 7 处理字符串] 2 题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 3 程分析:利用 while 语句,条件为输入的字符不为'\n'. 4 */ 5 6 ...

  10. 为科学计算而生的Julia——基于Manjaro Linux的安装与入门

    技术背景 Julia是一门为科学计算而生的编程语言,其着重强调了开源.生态与性能.从开源角度来说,相比于Matlab就要友好很多,用户可以免费使用,而且MIT协议应该是最宽松的开源协议之一(截图来自于 ...