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


    1012. 数字分类 (20)

    时间限制
    100 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CHEN, Yue

    给定一系列正整数,请按要求对数字进行分类,并输出以下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<bits/stdc++.h>
       2 using namespace std;
       3 int main()
       4 {
       5     int n,a[1100];
       6     int A1=0,A2=0,A22=0,A3=0,A44=0,A4=0,A5=0,flag=1;
       7     cin>>n;
       8     for(int i=0; i<n; i++)
       9     {
      10         cin>>a[i];
      11         if(a[i]%10==0)
      12             A1+=a[i];
      13         else if(a[i]%5==1)
      14         {
      15             A2=A2+flag*a[i];
      16             flag=-flag;
      17             A22++;
      18         }
      19         else if(a[i]%5==2)
      20         {
      21             A3++;
      22         }
      23         else if(a[i]%5==3)
      24         {
      25             A44++;
      26             A4+=a[i];
      27         }
      28         else if(a[i]%5==4)
      29         {
      30             A5=max(A5,a[i]);
      31         }
      32     }
      33     char aa;
      34     aa='N';
      35     if(A1==0) cout<<aa;
      36     else cout<<A1;
      37     cout<<" ";
      38     if(A22==0) cout<<aa;
      39     else cout<<A2;
      40     cout<<" ";
      41     if(A3==0) cout<<aa;
      42     else cout<<A3;
      43     cout<<" ";
      44     if(A4==0) cout<<aa;
      45     else printf("%.1f",(double)A4/A44);
      46     cout<<" ";
      47     if(A5==0) cout<<aa;
      48     else cout<<A5;
      49     cout<<endl;
      50     return 0;
      51 }
    我会一直在
  • 相关阅读:
    C++中dynamic_cas操作符的工作原理
    wcf服务契约的重载
    db2学习笔记
    微软新特性下的异常处理
    任务取消TASK
    socket多文件发送(压缩,解压)
    oracle 表分区例子
    Task构造
    TASK 的使用
    Asp.Net 用户验证(自定义IPrincipal和IIdentity)
  • 原文地址:https://www.cnblogs.com/zhien-aa/p/5660319.html
Copyright © 2020-2023  润新知