gpt4 book ai didi

c - 卡在计算 DNF 最高出现次数上

转载 作者:行者123 更新时间:2023-11-30 16:36:07 27 4
gpt4 key购买 nike

所以我想算一下在四场自行车比赛中谁获得的 DNF 最多。我只完成了过滤和打印未完成的骑手。但由于我对数组相对较新,因此在编写逻辑时遇到了麻烦:

仅打印四场比赛中获得最多 DNF 的骑手。

这是我返回所有 DNF 骑手的循环,因此某些名称是重复的:

  int i;

for(i = 0; i < 790; i++){
if(strcmp(results[i].rider_placement, "DNF") == 0) {
printf(" %-40s \n",
results[i].rider_name);
}
}

我知道这可能还不够,但任何能帮助我现在思考的信息都将不胜感激。

编辑:澄清DNF是指从比赛中退赛的车手

这是用于存储 txt 文件中的数据的结构:

例如。巴黎鲁贝“Greg VAN AVERMAET”32 BMC BEL 1 5:41:07

例如。巴黎鲁贝“Sam BEWLEY”30 ORS NZL DNF 0

struct result_t {
char stage_name[STAGE_LEN];
char rider_name[NAME_LEN];
int rider_age;
char rider_team[TEAM_LEN];
char rider_nation[NATION_LEN];
char rider_placement[NATION_LEN];
char time[TIME_LEN];
};

最佳答案

为什么不在你的结构中添加一个计数器呢?

struct result_t {
char stage_name[STAGE_LEN];
.
.
int counter = 0;
}

每当这个人收到 DNF 时,就像在您提供的循环中一样

for(i = 0; i < 790; i++){
if(strcmp(results[i].rider_placement, "DNF") == 0) {
printf(" %-40s \n",
results[i].rider_name);
results[i].counter += 1; //<-- pref. impl counter
}
}

你计算一下,数学完成后,你比较所有的计数器看看谁的得分最高..?

关于c - 卡在计算 DNF 最高出现次数上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48608652/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com