一 题目描述

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

  • A​​​ = 能被 5 整除的数字中所有偶数的和;
  • A​​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n​1​​−n​2​​+n​3​​−n​4​​⋯;
  • A​​​ = 被 5 除后余 2 的数字的个数;
  • A​​​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
  • A​​​ = 被 5 除后余 4 的数字中最大数字。

   输入格式:

        每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。

   输出格式:

        对给定的 N 个正整数,按题目要求计算 A​1​​~A​5​​ 并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。若其中某一类数字不存在,则在相应位置输出 N

  输入样例 113 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

二 解题思路及代码

题目要求略繁琐,不过不难编码。为了方便输出,故将结果放在数组中,再遍历输出。

#include <stdio.h>

#define MIN 6
#define MAX 1000 int main(int argc, char *argv[])
{
int A[MIN], Result[MIN]; /* store a1 to a5 */
int N[MAX];
int i, j, k, num; /* k as index in A1 */
int evenSum, mixSum, cnt, maxNum, sumForAve;
float x = 0.0; for ( i = ; i < MIN; i++ ) {
A[i] = ; /* flag */
} /* x as index in A4 */
k = evenSum = mixSum = ;
cnt = sumForAve = maxNum = ;
scanf("%d", &num);
for ( i = ; i < num; i++ ) {
scanf("%d", &N[i]); /* init */
}
for ( j = ; j < num; j++ ) {
if ( (N[j]%)== && (N[j]%)== ) {
/* case in A1 */
evenSum += N[j];
A[] = ;
}
if ( (N[j]%) == ) {
/* case in A2 */
k++;
A[] = ;
if ( k% == ) {
mixSum += N[j];
} else {
mixSum -= N[j];
}
}
if ( (N[j]%) == ) {
/* case in A3 */
cnt++;
A[] = ;
}
if ( (N[j]%) == ) {
/* case in A3 */
sumForAve += N[j];
x += 1.0;
A[] = ;
}
if ( (N[j]%) == ) {
if ( N[j] > maxNum ) {
maxNum = N[j];
}
A[] = ;
}
} Result[] = evenSum;
Result[] = mixSum;
Result[] = cnt;
Result[] = sumForAve;
Result[] = maxNum;
for ( j = ; j < MIN; j++ ) {
if ( A[j] == ) {
/* not exist */
printf("N");
} else if ( j == ) {
printf("%.1f", Result[j]/x);
} else {
printf("%d", Result[j]);
}
if ( j < (MIN - ) ) {
printf(" ");
}
} return ;
}

PTA(BasicLevel)-1012 数字分类的更多相关文章

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

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

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

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

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

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

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

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

  5. PAT 1012 数字分类 (20)(代码+测试点)

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

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

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

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

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

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

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

  9. PTA(Basic Level)1012.数字分类

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

随机推荐

  1. 打通版微社区(5):部署DZ3.2

    参考官方帖子http://www.discuz.net/thread-3258186-1-1.html  这是第三方的帖子http://www.discuz.net/thread-3199850-1- ...

  2. redis主从,哨兵,集群

    本次所有操作在docker下进行,搭建方便,迅速构建redis集群. 1. docker安装redis 获取redis:latest(使用官方最新的) 镜像 $ docker pull redis r ...

  3. 骑士周游问题跳马问题C#实现(附带WPF工程代码)

    骑士周游问题,也叫跳马问题. 问题描述: 将马随机放在国际象棋的8×8棋盘的某个方格中,马按走棋规则进行移动.要求每个方格只进入一次,走遍棋盘上全部64个方格. 代码要求: 1,可以任意选定马在棋盘上 ...

  4. 查看oracle数据库最近执行了哪些sql语句

    SELECT b.sql_text, --content of SQL a.machine, --which machine run this code a.username, a.module, - ...

  5. December 30th 2016 Week 53rd Friday

    Life without love is like a tree without blossoms or fruit. 缺少爱的生活就像从未开花结果的枯树. Love is not only the ...

  6. Programming Assignment 1: WordNet

    编程作业一 作业链接:WordNet & Checklist 我的代码:WordNet.java & SAP.java & Outcast.java 这是第二部分的编程作业,因 ...

  7. Google的Python代码格式化工具YAPF详解

    平时习惯了杂乱无章地编写代码,而最后的代码勘定,却依赖于PyCharm自带的格式化工具,以及其自带的提示功能来规范代码.而pycharm里的格式化工具,不支持对多文件进行代码批量格式化,曾经尝试些解决 ...

  8. RedHat(小红帽)下 yum用不了的解决办法

    由于RedHat是商业版的,通常由于没有注册,导致yum程序无法使用(linux下面,yum是个安装软件的“神器”).此时可用CentOS的地址进行替换.下面将一步步说明如何处理: 一.删除RedHa ...

  9. ERDAS IMAGINE 2014 32位 破解安装

    1.        安装Install ERDAS Foundation 2014 2.        安装ERDAS IMAGINE 2014  32位 3.        安装Intergraph ...

  10. git地址

    登录地址:https://git.oschina.net/signup API地址:http://git.oschina.net/progit/