PTA(BasicLevel)-1012 数字分类
一 题目描述
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:
- A = 能被 5 整除的数字中所有偶数的和;
- A = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯;
- A = 被 5 除后余 2 的数字的个数;
- A = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
- A = 被 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
二 解题思路及代码
题目要求略繁琐,不过不难编码。为了方便输出,故将结果放在数组中,再遍历输出。
#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 数字分类的更多相关文章
- PAT乙级 1012. 数字分类 (20)
1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进 ...
- PAT-乙级-1012. 数字分类 (20)
1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进 ...
- [C++]PAT乙级1012.数字分类 (20/20)
/* 1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和, ...
- PAT 乙级 1012 数字分类 (20) C++版
1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进 ...
- PAT 1012 数字分类 (20)(代码+测试点)
1012 数字分类 (20)(20 分) 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求 ...
- 【PAT】1012. 数字分类 (20)
1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算 ...
- PAT(B) 1012 数字分类(Java)
题目链接:1012 数字分类 代码 /** * Score 20 * Run Time 142ms * @author wowpH * @version 1.1 */ import java.util ...
- PAT 乙级 1012.数字分类 C++/Java
题目来源 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和, ...
- PTA(Basic Level)1012.数字分类
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n ...
随机推荐
- kettle 创建任务定时执行数据抽取
定时执行脚本 使用SPOON 工具建立好转换文件 .ktr,创建下面的.BAT文件,用操作系统的任务调用批处理. G:\soft\data-integration\pan.bat /norep -fi ...
- Python学习---django之admin简介
Django之admin简介 参考文献:http://www.admin10000.com/document/2220.html Djaogo为什么url可以匹配url.py里面的路径呢? 我们打 ...
- rsync- sersync -inotify
Rsync简介 Rsync是一款优秀的.快速的.多功能的本地或远程数据镜像同步备份工具.适用于unix/linux/windows等多种平台 从软件的名称Rsync(Remote Rynhroniza ...
- python3程序设计基本方法
实例 6.升级维护 总结: 打了多年的游击战.突然经过教官的指导,觉得很受益,程序自学需要总结和交流.
- [Assignment] C++2
作业要求:PAT1025 翻转链表 代码在这里
- codeforces 808G Anthem of Berland
codeforces 808G Anthem of Berland 题面 给定\(s\)串和\(t\)串,字符集是小写字母.\(s\)串中有些位置的值不确定,要求你确定这些位置上的值,使得\(t\)在 ...
- Apache Spark : Introduction
看了一点<数据算法:Hadoop/Spark大数据处理技巧>,觉得有必要了解一下 Spark . 以上. Spark was introduced by Apache Software F ...
- Mac下的mongodb安装
mac下的mongodb安装主要有两种方式,一是手工安装,需在官网下载源文件,二是通过homebrew,至于homebrew不做介绍.既然是Mac系统下,我认为直接通过homebrew安装最好,省事还 ...
- Django中模型(三)
Django中模型(三) 四.模型成员 1.类属性 objects:是Manager类的一个对象,作用是与数据库进行交互. 定义模型类时,没有定义管理器,则默认创建名为objects的管理器. 2.自 ...
- docker-5-容器数据卷
1.是什么 一句话:有点类似我们Redis里面的rdb和aof文件 先来看看Docker的理念: * 将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的 ...