博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1012 数字分类
阅读量:5355 次
发布时间:2019-06-15

本文共 1414 字,大约阅读时间需要 4 分钟。

题目描述

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

  • A1​​ = 能被 5 整除的数字中所有偶数的和;
  • A2​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1​​n2​​+n3​​n4​​⋯;
  • A3​​ = 被 5 除后余 2 的数字的个数;
  • A4​​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
  • A5​​ = 被 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 
#include
using namespace std;int main(){ int a1=0,a2=0,a5=0,n,x; double a4=0.0; vector
v[5];//声明出来正好有5个类别 cin>>n;//字符个数 for(int i=0;i
>x; v[x%5].push_back(x);//根据题目要求将之归入不同数组 } for(int i=0;i<5;i++) { for(int j=0;j
a5)a5=v[i][j]; } } for(int i=0;i<5;i++)//输出 { if(i!=0)printf(" "); if(i==0&&a1==0||i!=0&&v[i].size()==0){printf("N");continue;} if(i==0){printf("%d",a1);} if(i==1){printf("%d",a2);} if(i==2){printf("%d",v[2].size());} if(i==3){printf("%.1f",a4/v[3].size());} if(i==4){printf("%d",a5);} } return 0;}

  

 

转载于:https://www.cnblogs.com/whocarethat/p/11074508.html

你可能感兴趣的文章
学好python
查看>>
css-IE中的border-radius和box-shadow
查看>>
利用bootstrap和webform的异步CRUD及分页
查看>>
HDUOJ 1879继续畅通工程(并查集)
查看>>
OC12_自动释放池
查看>>
Saiku资源帖
查看>>
解决手机页面中点击文本框,网页放大问题
查看>>
2-5
查看>>
牛客多校3 A-PACM Team(状压降维+路径背包)
查看>>
HDU - 4284 Travel(floyd+状压dp)
查看>>
1027 制作表格
查看>>
Android之Socket通信、List加载更多、Spinner下拉列表
查看>>
面向对象的介绍与特性
查看>>
typing-python用于类型注解的库
查看>>
20189215 2018-2019-2 《密码与安全新技术专题》第13周作业
查看>>
第四周作业
查看>>
一、HTML基础
查看>>
蓝牙进阶之路 (002) - HC-05与HC-06的AT指令的区别(转)
查看>>
mysql的limit经典用法及优化
查看>>
C#后台程序与HTML页面中JS方法互调
查看>>