PAT答案(数字分类)

题目链接

https://www.nowcoder.com/pat/6/problem/4078

代码

#include
#define MAX 1000
int main() {
    int N;
    int a[MAX];
    //这里采用memset编译会失败
    int b[5] = {0, 0, 0, 0, 0};
    scanf("%d", &N);
    for(int i=0; i"%d", &a[i]);
    }
    int t = -1;
    int count=0;
    for(int i=0; iif(a[i] % 10 == 0) b[0] += a[i];
        else if(a[i] % 5 == 1) {
            t = -t;
            b[1] = b[1] + t*a[i];
        }
        else if(a[i] % 5 == 2) b[2]++;
        else if(a[i] % 5 == 3) {
            b[3] += a[i];
            count++;
        }else{
            b[4] = b[4] > a[i] ? b[4] : a[i];
        }
    }
    for(int i=0; i<5; i++){
        if(b[i] == 0) {
            if(i == 4)
                printf("N");
            else
                printf("N ");
        } else {
            if(i == 3) {
                float result = 1.0*b[3]/count;
                printf("%.1f ", result);
            }else if(i == 4) {
                printf("%d", b[4]);
            } else{
                printf("%d ", b[i]);
            }
        }
    }
    return 0;
}

你可能感兴趣的:(算法)