【PAT B1012】数字分类(C语言)

#include <stdio.h>
#include <math.h>

int main() {

    int a1=0, a2=0, a3=0, a5=0;
    double a4 = 0;
    int n, i = 0;
    int Num[1001];

    scanf("%d", &n);
    int len = n;
    while (n--) {
        scanf("%d", &Num[i++]);
    }

    i = 0;//求A1
    for (i; i < len; i++) {
        if (Num[i] % 5 == 0 && Num[i] % 2 == 0)    a1 += Num[i];
    }

    i = 0;//求A2
    int k = 0;
    for (i; i < len; i++) {
        if (Num[i] % 5 == 1) {
            a2 += Num[i] * pow(-1, k);
            k++;
        }
    }
    int flag = 0;
    if (k != 0)        flag = 1;

    i = 0;//求A3
    for (i; i < len; i++) {
        if (Num[i] % 5 == 2) {
            a3++;
        }
    }

    i = 0;//求A4
    double sum = 0, c = 0;
    for (i; i < len; i++) {
        if (Num[i] % 5 == 3) {
            sum += Num[i];
            c++;
        }
    if (sum != 0)    a4 = sum / c;
    }

    i = 0;//求A5
    int max = 0;
    for (i; i < len; i++) {
        if (Num[i] % 5 == 4 && Num[i] > max) {
            max = Num[i];
        }
        a5 = max;
    }


    if (a1 != 0) {
        printf("%d ", a1);
    }
    else {
        printf("N ");
    }
    if (flag != 0) {//不能用a2=0来判断,因为加减可能凑出0
        printf("%d ", a2);
    }
    else {
        printf("N ");
    }
    if (a3 != 0) {
        printf("%d ", a3);
    }
    else {
        printf("N ");
    }
    if (a4 != 0) {
        printf("%0.1f ", a4);
    }
    else {
        printf("N ");
    }
    if (a5 != 0) {
        printf("%d", a5);
    }
    else {
        printf("N");
    }

    return 0;


}
全部评论

相关推荐

02-16 01:39
南昌大学 Java
重剑Ds:感觉不太可能 后端都减飞了 根本不缺人
点赞 评论 收藏
分享
牛客44320985...:你的当务之急是把这个糖的要死的沟槽ide主题改了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务