• 1012. 数字分类 (20)


    原题: https://www.patest.cn/contests/pat-b-practise/1012

    完整实现:

    #include <stdio.h>
    
    int main () {
        int a1 = 0;
        int a2 = 0;
        int a3 = 0;
        float a4 = 0.0; // a4是浮点数
        int a5 = 0;
        int flag1 = 0; // 相应的数字是否存在判断
        int flag2 = 0;
        int flag3 = 0;
        int flag4 = 0;
        int flag5 = 0;
        int time2 = 1; // 判断a2用, 奇数正号, 偶数负号
        int time4 = 0; // 记录满足a4条件的个数, 用来求平均数
        int sum4 = 0; // 保存满足a4条件的和
        int n; // 数字总数
        int i;
        int now;
    
        scanf("%d", &n);
        while (n != 0) {
            scanf("%d", &now);
    
            // A1
            if (now % 5 == 0 && now % 2 == 0) {
                flag1 = 1;
                a1 += now;
            }
    
            // A2
            if (now % 5 == 1) {
                flag2 = 1;
                // now是偶数, 则取负号
                if (time2 % 2 == 0) {
                    now = -now;
                }
                time2++;
                a2 += now;
            }
    
            // A3
            if (now % 5 == 2) {
                flag3 = 1;
                a3 = a3 + 1;
            }
    
            // A4
            if (now % 5 == 3) {
                flag4 = 1;
                time4 += 1;
                sum4 += now;
            }
            a4 = (float)(sum4) / (float)(time4);
    
            // A5
            if (now % 5 == 4) {
                flag5 = 1;
                if (now > a5) {
                    a5 = now;
                }
            }
    
            n = n-1;
        }
    
        if (flag1 == 0) {
            printf("N ");
        } else {
            printf("%d ", a1);
        }
    
        if (flag2 == 0) {
            printf("N ");
        } else {
            printf("%d ", a2);
        }
    
        if (flag3 == 0) {
            printf("N ");
        } else {
            printf("%d ", a3);
        }
    
        if (flag4 == 0) {
            printf("N ");
        } else {
            printf("%.1f ", a4);
        }
    
        if (flag5 == 0) {
            printf("N
    ");
        } else {
            printf("%d
    ", a5);
        }
    
        return 0;
    }
    
    
  • 相关阅读:
    找水王续
    大道至简-阅读笔记01
    第二阶段冲刺(第二天)
    第二阶段冲刺(第一天)
    找小水王
    《大道至简》阅读笔记02——关于项目经理
    学习进度第十二周
    找水王
    学习进度第十一周
    博客园用户体验
  • 原文地址:https://www.cnblogs.com/asheng2016/p/7681501.html
Copyright © 2020-2023  润新知