1012. 数字分类 (20)

来源:互联网 发布:平面设计软件百度云 编辑:程序博客网 时间:2024/06/05 19:12
  1. 数字分类 (20)

给定一系列正整数,请按要求对数字进行分类,并输出以下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<stdio.h>int main(){    int N;    scanf("%d",&N);    int A1=0,A2=0,A3=0,A5=0;    double A4=0;    int i,cnt0=0,cnt=0,mask=1;    for(i=0;i<N;i++){        int t;        scanf("%d",&t);        switch(t%5){            case 0:if(t%2==0) A1+=t;break;            case 1:A2+=mask*t;mask*=-1;cnt0++;break;            case 2:A3++;break;            case 3:A4+=t;cnt++;break;            case 4:if(t>A5) A5=t;break;        }//      if(t%5==0&&t%2==0){//          A1+=t;//      }//      if(t%5==1){//          A2+=mask*t;//          mask*=-1;//      }//      if(t%5==2){//          A3++;//      }//      if(t%5==3){//          A4+=t;//          cnt++;//      }//      if(t%5==4&&t>A5){//          A5=t;//      }    }    if(A1) printf("%d ",A1);    else printf("N ");    if(cnt0) printf("%d ",A2);    else printf("N ");    if(A3) printf("%d ",A3);    else printf("N ");    if(cnt) printf("%.1f ",A4/cnt);    else printf("N ");    if(A5) printf("%d",A5);    else printf("N");    return 0;}
0 0
原创粉丝点击