数字分类 (20)

Posted 葛杨杨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字分类 (20)相关的知识,希望对你有一定的参考价值。

 

时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)

题目描述

给定一系列正整数,请按要求对数字进行分类,并输出以下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”。

输入例子:

13 1 2 3 4 5 6 7 8 9 10 20 16 18

输出例子:

30 11 2 9.7 9

 1 #include <iostream>
 2 #include <iomanip>
 3 using namespace std;
 4 int main(int argc, const char * argv[]) {
 5     
 6     int n=13;
 7     int a[1000];
 8     int a1=0; int a2=0; int a3=0; float a4=0.0; int a5=0;
 9     //先输入n
10     cin>>n;
11     //将所有输入记录在数组a里
12     for(int i=0;i<n;i++){
13         cin>>a[i];
14     }
15     //A1 = 能被5整除的数字中所有偶数的和;
16     for(int i=0;i<n;i++){
17         if(a[i]%5==0 && a[i]%2==0){
18             a1 += a[i];
19         }
20     }
21     //A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;
22     int j=0;
23     for(int i=0;i<n;i++){
24         
25         if(a[i]%5==1){
26             if(j%2==0){
27                 a2=a2+a[i];
28             }else{
29                 a2=a2-a[i];
30             }
31             j++;
32         }
33     }
34     //A3 = 被5除后余2的数字的个数;
35     for(int i=0;i<n;i++){
36         if(a[i]%5==2){
37             a3++;
38         }
39     }
40     //A4 = 被5除后余3的数字的平均数,精确到小数点后1位;
41     j=0;
42     for(int i=0;i<n;i++){
43         if(a[i]%5==3){
44             j++;
45             a4 += a[i];
46         }
47     }
48     if(a4 != 0.0)
49         a4=a4/j;
50     //A5 = 被5除后余4的数字中最大数字。
51     for(int i=0;i<n;i++){
52         if(a[i]%5==4 && a[i]>a5){
53             a5=a[i];
54         }
55     }
56     if(a1==0){
57         cout<<"N ";
58     }else{
59         cout<<a1<<" ";
60     }
61     if(a2==0){
62         cout<<"N ";
63     }else{
64         cout<<a2<<" ";
65     }
66     if(a3==0){
67         cout<<"N ";
68     }else{
69         cout<<a3<<" ";
70     }
71     if(a4 == 0.0){
72         cout<<"N ";
73     }else{
74         cout<<setiosflags(ios::fixed)<<setprecision(1)<<a4<<" ";
75     }
76     if(a5==0){
77         cout<<"N"<<endl;
78     }else{
79         cout<<a5<<endl;
80     }
81     
82         return 0;
83 }

 

以上是关于数字分类 (20)的主要内容,如果未能解决你的问题,请参考以下文章

PAT乙级 1012. 数字分类 (20)

手写数字识别——基于全连接层和MNIST数据集

PTA乙级 (1012 数字分类 (20分),四舍五入小数点后一位)

1012. 数字分类 (20)

1012 数字分类 (20 分)

PAT1012. 数字分类 (20)