zoukankan      html  css  js  c++  java
  • 牛客PAT乙级(Basic Level)真题

    数字分类 (20)

    代码

    运行结果


    数字分类 (20)

    时间限制:1000ms 内存限制:32768KB 代码长度限制:100KB 判断程序:Standard

    题目描述:

    给定一系列正整数,请按要求对数字进行分类,并输出以下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”。

    输入例子:

    13 1 2 3 4 5 6 7 8 9 10 20 16 18

    输出例子:

    30 11 2 9.7 9


    代码:

    //牛客PAT 1002 数字分类
    #include <stdio.h>
    int main(int argc, char const *argv[])
    {
        int N, judge = 0, i = 0, j = 0, k = 0;
        int A1 = 0, A2 = 0, A3 = 0, A5 = 0;
        int count1 = 0, count2 =0, count3 = 0, count4 = 0, count5 = 0;
        float A4;
        int a4 = 0;
    
        scanf("%d", &N);
        int num[N]={0}, a2[N]={0};
        
        for(int i = 0; i < N; i++)
        {
            scanf("%d", &num[i]);
        }
        
        for(int i = 0; i < N; i++)
        {
            judge = num[i] % 5;
            switch (judge)
            {
                case 0:
                    {
                        if ((num[i]%2)==0)
                        {
                            A1 = A1 + num[i];       //计算A1
                            count1++;
                        }
                        break;
                    }
                case 1:
                    {
                        a2[j] = num[i];
                        j++;
                        count2++;
                        break;
                    }
                case 2:
                    {
                        A3++;       //计算A3
                        count3++;
                        break;
                    }
                case 3:
                    {
                        k++;
                        a4 = a4 + num[i];
                        count4++;
                        break;
                    }
                case 4:
                    {
                        if(num[i] > A5)
                        A5 = num[i];        //计算A5
                        count5++;
                        break;
                    }
                default:
                    break;
            }
        }
        
        i = 0;
        while(a2[i])        //计算A2
        {
            if((i%2)==0)
                A2 = A2 + a2[i];
            else
                A2 = A2 - a2[i];
            i++;
        }
    
        A4 = (float)a4 / k;     //计算A4
    
        (count1)?(printf("%d ", A1)):(printf("N "));
        (count2)?(printf("%d ", A2)):(printf("N "));
        (count3)?(printf("%d ", A3)):(printf("N "));
        (count4)?(printf("%.1f ", A4)):(printf("N "));
        (count5)?(printf("%d", A5)):(printf("N"));
        return 0;
    }

    运行结果:

  • 相关阅读:
    GSI发布EnCase 6.19版本
    [EnCase v7] EnCase v7 使用问题小结
    WebForm和WinForm通用的取当前根目录的方法
    存储过程示例临时表代替游标
    自定义协议的注册及程序示例(C#)
    关于System.Web.HttpContext.Current.Session 为 null的问题
    存储过程调用DTS包实现大批量数据导入
    Ext.app.SearchField在IE8中显示异常的问题
    用于 Windows Server 2003 的远程桌面连接 (Terminal Services Client 6.0) (KB925876)
    一段没有看懂的JS代码
  • 原文地址:https://www.cnblogs.com/ME-WE/p/12433605.html
Copyright © 2011-2022 走看看