zoukankan      html  css  js  c++  java
  • PAT——乙级1012

     
    1012 数字分类 (20 point(s))

    给定一系列正整数,请按要求对数字进行分类,并输出以下 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<cstdio>
    int pow1(int a)
    {
        if (a % 2 == 0)return 1;
        else return -1;
    }
    int main()
    {
        int N, N_value[1000], A[5] = {0,0,0,0,0},A_num[5]= { 0,0,0,0,0 };
        scanf("%d", &N);
        for (int i = 0;i < N;i++) scanf("%d", &N_value[i]);
        for (int i = 0;i < N;i++)
        {
            switch (N_value[i]%5)
            {
                case 0: 
                {
                    if (N_value[i] % 2 == 0)
                    {
                        A[0] += N_value[i];
                        A_num[0]++;
                    }
                    break;
                }
                case 1:
                {
                    A[1] += pow1(A_num[1])*N_value[i];
                    A_num[1]++;
                    break;
                }
                case 2: 
                {
                    A_num[2]++;
                    break;
                }
                case 3: 
                {
                    A[3] += N_value[i];
                    A_num[3]++;
                    break;
                }
                case 4: 
                {
                    if (N_value[i] > A[4]) 
                    {
                        A[4] = N_value[i];
                        A_num[4]++;
                    }
                    break;
                }
                default:
                    break;
            }
        }
        if (A_num[0] == 0)printf("N ");
        else printf("%d ", A[0]);
        if (A_num[1] == 0)printf("N ");
        else printf("%d ", A[1]);
        if (A_num[2] == 0)printf("N ");
        else printf("%d ", A_num[2]);
        if (A_num[3] == 0)printf("N ");
        else printf("%.1f ", float(A[3])/A_num[3]);
        if (A_num[4] == 0)printf("N");
        else printf("%d", A[4]);
        return 0;
    }
  • 相关阅读:
    Android中Context具体解释 ---- 你所不知道的Context
    JDK6、Oracle11g、Weblogic10 For Linux64Bit安装部署说明
    matplotlib 可视化 —— 定制 matplotlib
    matplotlib 可视化 —— 移动坐标轴(中心位置)
    matplotlib 可视化 —— 移动坐标轴(中心位置)
    matplotlib 可视化 —— 定制画布风格 Customizing plots with style sheets(plt.style)
    matplotlib 可视化 —— 定制画布风格 Customizing plots with style sheets(plt.style)
    指数函数的研究
    指数函数的研究
    指数分布的研究
  • 原文地址:https://www.cnblogs.com/albert-yzp/p/9940418.html
Copyright © 2011-2022 走看看