zoukankan      html  css  js  c++  java
  • PAT Basic 1012

    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



    注意,printf函数保留小数的时候,会自动四舍五入
    #define _CRT_SECURE_NO_WARNINGS
    #include<iostream>
    #include <vector>
    #include<algorithm>
    #include<string>
    #include<string.h>
    #include<math.h>
    #define max 1000
    #define debug 0
    using namespace std;

    int main() {
    #if debug
        freopen("in.txt", "r", stdin);
    #endif

        int n = 0;
        int c2 = 0;
        int A1, A2, A3, A5;
        A1 = A2 = A3 = A5 = 0;
        int c4 = 0;
        double A4=0;
        cin >> n;
        int a;
        for (int i = 0; i < n; i++)
        {
            cin >> a;
            if (a % 10 == 0)
            {
                A1 += a;
            }
            if (a % 5 == 1)
            {
                a *= pow(-1,c2);
                A2 += a;
                c2++;
            }
            if (a % 5 == 2)
            {
                A3++;
            }
            if (a % 5 == 3)
            {
                A4 += a;
                c4++;
            }
            if (a % 5 == 4)
            {
                if (A5 < a)
                {
                    A5 = a;
                }
            }
        }
        if(c4!=0)
        A4 = A4/c4;
        if (A1 == 0)
            cout << 'N';
        else
            cout << A1;
        cout << ' ';
        if(c2==0)
            cout << 'N';
        else
            cout << A2;
        cout << ' ';
        if (A3 == 0)
            cout << 'N';
        else
            cout << A3;
        cout << ' ';    
        if (A4 == 0)
            cout << 'N';
        else
            printf("%.1f", A4);
        cout << ' ';
        if (A5 == 0)
            cout << 'N';
        else
            cout << A5;
    #if debug
        freopen("CON", "r", stdin);
    #endif
        return 0;
    }
  • 相关阅读:
    64945e3dtw1dii6vfdr19j.jpg(PNG 图像,1497x929 像素)
    软题库
    信管网
    Windows DNA_百度百科
    解释一下关系数据库的第一第二第三范式?
    扩大高校毕业生就业见习补贴范围_网易新闻
    中国计算机技术职业资格网 | 首页
    2016年下半年信息系统项目管理师真题及答案_信息系统项目管理师历年真题及权威答案_信息系统项目管理师试题及模拟题_软考考试题库_希赛网
    杭州市2016-2017年度跨境电商产业紧缺人才需求目录
    计算机技术与软件专业技术资格(水平)考试_百度百科
  • 原文地址:https://www.cnblogs.com/lxzbky/p/10503194.html
Copyright © 2011-2022 走看看