这样写为何爆〇
查看原帖
这样写为何爆〇
242258
SpringsLau楼主2021/7/14 02:38
#include<iostream>
#include<string.h>

#define MAX_NUM             100
#define MAX_NAME_LENGTH     20
#define MAX_SOS_LENGTH      200

using namespace std;

typedef struct SOS {
    char person[MAX_NAME_LENGTH];
    char sos[MAX_SOS_LENGTH];
    int cnt;
} Sos;

int parse(char* sos) {
    if (strlen(sos) < 3) {
        return 0;
    }
    int cnt = 0;
    for (int i = 0; i < strlen(sos) - 2; i++) {
        if (sos[i] == 's' && sos[i + 1] == 'o' && sos[i + 2] == 's') {
            cnt++;
        }
    }
    return cnt;
}

int main() {
    int n = 0, max = 0;
    Sos sos[MAX_NUM];
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> sos[i].person >> sos[i].sos;
        sos[i].cnt = parse(sos[i].sos);
        max = sos[i].cnt > max ? sos[i].cnt : max;
    }
    for (int i = 0; i < n; i++) {
        if (sos[i].cnt == max) {
            cout << sos[i].person << ' ';
        }
    }
    cout << '\n' << max;

    return 0;
}

本地测试无差错

2021/7/14 02:38
加载中...