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 ...
随机推荐
- 使用@selector模仿代理功能降低代码耦合度
使用@selector模仿代理功能降低代码耦合度 说明 该模式的好处就是两个产生联系的对象间并没有具体的耦合代码,增删改查均很直观 源码 Model // // Model.h // SELMetho ...
- IPv4地址结构体sockaddr_in详解
sockaddr_in结构体定义 struct sockaddr_in { sa_family_t sin_family; //地址族(Address Family) uint16_t sin_por ...
- Windows 下的内存泄漏检测方法
在 Windows 下,可使用 Visual C++ 的 C Runtime Library(CRT) 检测内存泄漏. 首先,我们在.c或.cpp 文件首行插入这一段代码: #define _CRTD ...
- zeromq 笔记
一. 当执行zmq_bind后会进入mute state,直到有进入或者出去的连接发生才会进入ready state 在mute state状态下会根据不同的套接字类型决定是丢弃消息还是阻塞 可参考z ...
- IOS Charles(代理服务器软件,可以用来拦截网络请求)
什么是Charles Charles是一款代理服务器软件,可以用来拦截网络请求 利用Charles能得知大部分公司app的数据来源和数据格式 下载地址:http://www.charlesproxy. ...
- Input and Output-The input is all the sources of action for your app
Programs take input and produce output. The output is the result of doing something with the input. ...
- 1295. [SCOI2009]最长距离【最短路】
Description windy有一块矩形土地,被分为 N*M 块 1*1 的小格子. 有的格子含有障碍物. 如果从格子A可以走到格子B,那么两个格子的距离就为两个格子中心的欧几里德距离. 如果从格 ...
- programming-languages学习笔记--第7部分
programming-languages学习笔记–第7部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src ...
- 35、springboot-运行状态监控使用Actuator
Spring Boot Actuator 提供了运行状态监控的功能 Actuator 监控数据可以通过阻REST远程 shell 和JMX方式获得.我 首先来介绍通过 REST 方式查看 Actuat ...
- 判断是否POST提交
if(strtolower($_SERVER['REQUEST_METHOD']) == 'post'){} //判断是否POST提交