C大神求助!
查看原帖
C大神求助!
833293
liaojing楼主2022/12/6 10:42
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct node{
	char name[12], v[3];
	long long val;
}h[100005], s[100005];

int cmp(const void* a, const void* b)
{
    struct node aa = *(struct node*)a;
    struct node bb = *(struct node*)b;
    return aa.val > bb.val ? -1:1;
}

int main()
{
    int n, m,k;
    int cnta = 0, cntb = 0;
    char name[12]={0}, v[2] = {0};
    long long var;
    scanf("%d %d", &n, &m);
    k = n + m;
    for (int i = 1; i <= k; i++)
    {
        scanf("%s %s %lld", name, 12, v, 2, &var);
        if (strcmp(v, "H") == 0) {
            ++cnta;
            strcpy(h[cnta].name, name);
            h[cnta].val = var;
        }
        else {
            ++cntb;
            strcpy(s[cntb].name, name);
            s[cntb].val = var;
        }
    }
    qsort(h, cnta+1, sizeof(h[0]), cmp);
    qsort(s, cntb+1, sizeof(s[0]), cmp);
    printf("%s", h[cnta+1-2].name);
    printf("\n");
    for (int i = cntb-4; i <= cntb; ++i) {
        printf("%s", s[i].name);
        printf("\n");
    }
    return 0;
}

2022/12/6 10:42
加载中...