• 1012 数字分类


    给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:

    A​1​​ = 能被 5 整除的数字中所有偶数的和;
    A​2​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n​1​​−n​2​​+n​3​​−n​4​​⋯;
    A​3​​ = 被 5 除后余 2 的数字的个数;
    A​4​​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
    A​5​​ = 被 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 <stdio.h>
    #include <string.h>
    
    int main()
    {
        int count=0;
        int a[1000];
        int b1=0;
        int b2=0;
        int b3=0;
        float b4=0;
        int b5=0;
        char out[1000];
        //输入
        scanf("%d",&count);
        int i;
        for(i=0;i<count;i++){
            scanf("%d",&a[i]);
        }
    
        //A1
        for(i=0;i<count;i++){
            if(a[i]%10==0) b1+=a[i];
        }
        if(b1==0) strcpy(out, "N ");
        else sprintf(out, "%d ", b1);
        //A2
        int j=0;
        for(i=0;i<count;i++){
            if(a[i]%5==1){
                if(j%2==0) b2+=a[i];
                else b2-=a[i];
                j++;
            }
        }
        if(j==0) strcat(out, "N ");
        else sprintf(out+strlen(out), "%d ", b2);
        //A3
        for(i=0;i<count;i++){
            if(a[i]%5==2) b3++;
        }
        if(b3==0) strcat(out, "N ");
        else sprintf(out+strlen(out), "%d ", b3);
        //A4
        for(i=j=0;i<count;i++){
            if(a[i]%5==3) {
                j++;
                b4+=a[i];
            }
        }
        if(j==0) strcat(out, "N ");
        else sprintf(out+strlen(out), "%.1f ", b4/j);
        //A5
        for(i=0;i<count;i++){
            if(a[i]%5==4) {
                if(b5<a[i]) b5=a[i];
            }
        }
        if(b5==0) strcat(out, "N");
        else sprintf(out+strlen(out), "%d", b5);
        //输出
    //    printf("%d %d %d %.1f %d",b1,b2,b3,b4,b5);
        puts(out);
    
        return 0;
    }



  • 相关阅读:
    线性Softmax分类器实战
    线性SVM分类器实战
    今日心得:读书
    今日心得:正能量
    Excel导出POI
    mysql数据库操作命令
    git常用命令
    list对象 利用Map去除对象中字段的重复
    SpringMVC 利用POI的Excel导出
    利用ajax进行页面加载进行信息展示时,一直不提加载,转圈,不反回问题。
  • 原文地址:https://www.cnblogs.com/shuicaojing/p/13879946.html
Copyright © 2020-2023  润新知