数字分类 (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)的主要内容,如果未能解决你的问题,请参考以下文章