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 ...
随机推荐
- 第三次作业 史浩然 -assassin Talon
- 沉淀,再出发:Django的简单使用
沉淀,再出发:Django的简单使用 一.前言 在学习了python的基础语法之后,其实大家都很怀疑python的使用场景,其实python在很多场合都有很强的适应性,就比如说web开发之中使 ...
- Alpha Scrum3
Alpha Scrum3 牛肉面不要牛肉不要面 Alpha项目冲刺(团队作业5) 各个成员在 Alpha 阶段认领的任务 林志松:音乐网页前端页面编写,博客发布 林书浩.陈远军:界面设计.美化 吴沂章 ...
- 查看linux上面是否有安装redis,redis启动
1.检测是否有安装redis-cli和redis-server; [root@localhost bin]# whereis redis-cli redis-cli: /usr/bin/redis-c ...
- java aopalliance-1.0.jar这个包是做什么用的?
这个包是AOP联盟的API包,里面包含了针对面向切面的接口.通常Spring等其它具备动态织入功能的框架依赖此包.
- git回滚线上代码
由于之前自己推代码的时候操作失误,push代码的时候没有push到线上的dev分支,而是push到了线上master分支(主要是因为没有在命令后写分支名,直接推到默认master分支上了),覆 ...
- [Python 多线程] threading.local类 (六)
在使用threading.local()之前,先了解一下局部变量和全局变量. 局部变量: import threading import time def worker(): x = 0 for i ...
- indexzero/http-server-1-简介
ethereumjs-vm的例子有用到这个 看完ethereumjs-vm,再看他ethereumjs/browser-builds,然后最后看他http-server,然后就能了解ethereumj ...
- .net根据经纬度获取地址(百度api)
private string GetAddress(string lng, string lat) { try { string url = @"http://api.map.baidu.c ...
- 移动端h5列表页上拉加载更多
背景 上星期公司要求做一个回收书籍的h5给安卓用,里面有一个功能是回收记录列表.设计师那边出的稿子是没有要求分页或者是上拉刷新的,但是众所周知,列表页数据很多的情况下,h5加载是很慢的.所以我一开始是 ...