zoukankan      html  css  js  c++  java
  • 1012. 数字分类 (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
     1 #include "stdio.h"
     2 #define size 1000
     3 
     4 int main(int argc, char const *argv[])
     5 {
     6     int n, a[size];
     7     while(scanf("%d", &n) != EOF)
     8     {
     9         int i, b1flag = 1;
    10         int b[5] = {0};
    11         float b3 = 0;
    12         int b3Count = 0;
    13         for (i = 0; i < n; ++i)
    14         {
    15             scanf("%d", &a[i]);
    16         }
    17         for (i = 0; i < n; ++i)
    18         {
    19             if(a[i] % 5 == 0 && a[2] % 2 == 0)
    20             {
    21                 b[0] += a[i];
    22             }
    23                 
    24             if(a[i] % 5 == 1)
    25             {
    26                 b[1] += a[i] * b1flag;
    27                 b1flag = 0 - b1flag;
    28             }
    29             if(a[i] % 5 == 2)
    30                 b[2] ++;
    31             if(a[i] % 5 == 3)
    32             {
    33                 b[3] += a[i];
    34                 b3Count++;
    35             }
    36             if(a[i] % 5 == 4)
    37             {
    38                 if(b[4] < a[i])
    39                     b[4] = a[i];
    40             }
    41         }
    42         if(b3Count) b3 = (double)b[3] / b3Count;
    43         // 输出
    44         if(b[0] == 0)
    45             printf("N");
    46         else
    47             printf("%d", b[0]);
    48 
    49         for (i = 1; i < 5; ++i)
    50         {
    51             if(b[i] == 0)
    52                 printf(" N");
    53             else
    54             {
    55                 if(i == 3)
    56                     printf(" %.1f", b3);
    57                 else
    58                     printf(" %d", b[i]);
    59             }        
    60         }
    61     }
    62     return 0;
    63 }
  • 相关阅读:
    Tomcat安装和配置过程
    Java集合框架概述
    Hash表的原理
    Java 浅拷贝和深拷贝的理解和实现方式
    Nginx 配置上传文件大小
    将博客搬至CSDN
    vscode中设置vue代码片段
    底部标签栏获取token失败
    Eacharts K线报错问题
    阿里字体图标库在项目中引用
  • 原文地址:https://www.cnblogs.com/hello-lijj/p/6495157.html
Copyright © 2011-2022 走看看