C++ 数字分类
1012 数字分类 (20分)
输入格式:
每个输入包含 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
算法思想:
由于输出的数字只有5个,就不需要数组了,直接在接收数据时对其进行处理就可以。我又犯了没看题的老毛病,把开始的13看成一个数,得出的平均数就不同,看了好久才找到哪里错了。
其中要注意的一点是:余数=1时,一开始设定的初始值是0,但是交错相加有等于0 的可能,因此我设定了一个bool类型的值,如果没有余数=1 的数,flag的值就不会变。
还有一点是两个函数:
1.cout << fixed << setprecision(1) << average4 << " "; 输出的精确到小数点后几位 #include <iomanip>
2.sum2 += pow(-1.0,time2)*num; -1的n次幂 #include <cmath>
完整代码如下:
- 1 #include <iostream>
- 2 #include <iomanip>
- 3 #include <cmath>
- 4
- 5 using namespace std;
- 6 int main()
- 7 {
- 8 //输入个数
- 9 int counts,time = 0;
- 10 cin >> counts;
- 11
- 12 int num;
- 13 int sum1 = 0;//A1
- 14
- 15 int time2 = 1,sum2 = 0;//A2
- 16 bool flag2 = false;//判断是否有余数为1的数
- 17
- 18 int count3 = 0;//A3
- 19
- 20 double count4 = 0,sum4 = 0,average4 = 0;//A4
- 21
- 22 int max_num = 0;//A5
- 23 while(time < counts && cin >> num)
- 24 {
- 25 int remainder = num % 5;
- 26 switch(remainder)
- 27 {
- 28 case 0:
- 29 if(num%2 == 0)sum1+=num;
- 30 break;
- 31 case 1:
- 32 time2++;
- 33 sum2 += pow(-1.0,time2)*num;
- 34 flag2 = true;//若flag2的值改变则表示有余数为1的值
- 35 break;
- 36 case 2:
- 37 count3 ++;
- 38 break;
- 39 case 3:
- 40 sum4 += num;
- 41 count4++;
- 42 average4 = sum4/count4;
- 43 break;
- 44 case 4:
- 45 max_num = num > max_num ? num:max_num;
- 46 break;
- 47 }
- 48 time++;
- 49 }
- 50
- 51 if(sum1 == 0)cout << "N ";
- 52 else cout << sum1 << " ";
- 53
- 54 if(!flag2)cout << "N ";
- 55 else cout << sum2 << " ";
- 56
- 57 if(count3 == 0)cout << "N ";
- 58 else cout << count3 << " ";
- 59
- 60 if(average4 == 0)cout << "N ";
- 61 else cout << fixed << setprecision(1) << average4 << " ";
- 62
- 63 if(max_num == 0)cout << "N";
- 64 else cout << max_num;
- 65
- 66
- 67
- 68 return 0;
- 69 }
C++ 数字分类的更多相关文章
- 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 算法历年真题 1002 :数字分类 (20)
1002 :数字分类 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定一系列正整数,请按要求对数字 ...
- 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的数字按给出顺序进行交错求和,即计算 ...
- 【算法笔记】B1012 数字分类
1012 数字分类 (20 分) 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字 ...
- PAT 乙级 1012.数字分类 C++/Java
题目来源 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和, ...
- PAT(B) 1012 数字分类(Java)
题目链接:1012 数字分类 代码 /** * Score 20 * Run Time 142ms * @author wowpH * @version 1.1 */ import java.util ...
随机推荐
- dns+nginx实现多虚拟主机
借鉴于朋友的需求,公司需要启用域名访问内部的业务系统,现实情况是内部的业务系统目前使用的是单主机,单nginx多端口的方式再运行,朋友最终想实现启用域名方式问题,且域名不需要用户手工输入端口号 两种思 ...
- Arthas在线java进程诊断工具 在线调试神器
tag: java 诊断 堆栈 在线调试 耗时 死锁 arthas 阿里巴巴 Arthas (阿尔萨斯) Arthas 是 Alibaba 开源的Java诊断工具,深受开发者喜爱. 官网文档:http ...
- python编写脚本,登录Github通过指定仓库指定敏感关键字搜索自动化截图生成文件【完美截图】
前言:为了避免开发人员将敏感信息写入文件传到github,所以测试人员需要检查每个仓库是否有写入,人工搜索审核比较繁琐,所以写一个脚本通过配置 配置文件,指定需要搜索的仓库和每个仓库需要搜索的关键字, ...
- string类运用:特殊的翻译
特殊的翻译 小明的工作是对一串英语字符进行特殊的翻译:当出现连续且相同的小写字母时,须替换成该字母的大写形式,在大写字母的后面紧跟该小写字母此次连续出现的个数:与此同时,把连续的小写字母串的左侧和右侧 ...
- 运行脚本 结果出现 Vim: Warning 并且卡住不能输入其它命令
当我在执行一个 关于执行linux操作的php脚本时,就出现了以下信息:"Vim: Warning: Output is not to a terminal",接着出现了一大堆的字 ...
- Go语言核心36讲(Go语言实战与应用八)--学习笔记
30 | 原子操作(下) 我们接着上一篇文章的内容继续聊,上一篇我们提到了,sync/atomic包中的函数可以做的原子操作有:加法(add).比较并交换(compare and swap,简称 CA ...
- shell脚本训练
*注:shell中的/data目录为自创练习目录 1,编写脚本systeminfo.sh,显示当前主机系统信息.包括主机名,IPV4地址,操作系统版本,内核版本,cpu型号,内存大小,硬盘大小 结果: ...
- MySQL 1064 错误
ERROR 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL s ...
- 搜索系统核心技术概述【1.5w字长文】
前排提示:本文为综述性文章,梳理搜索相关技术,如寻求前沿应用可简读或略过 搜索引擎介绍 搜索引擎(Search Engine),狭义来讲是基于软件技术开发的互联网数据查询系统,用户通过搜索引擎查询所需 ...
- [loj2461]完美的队列
参考论文,这里一共写了论文中的3种做法,第一种做法为强制在线时的做法,第二种为时间复杂度略高的做法(前两种都无法通过),第三种为本题正解,并给出了一种理论复杂度更优的做法 1.做法1 情况1 $\fo ...