【发布时间】:2020-06-06 06:45:25
【问题描述】:
我有一个数组,我需要在数组中找到 n 个平局,例如 {1,2,3,3} 我需要程序返回两个 3
void print_winner(void)
{
// TODO
string arr[9];
string name = "";
int largest = 0;
for (int i = 0; i < voter_count; i++)
{
if (largest<candidates[i].votes)
{
largest = candidates[i].votes;
name = candidates[i].name;
}
}
// arr[0] = name;
printf("%s\n", name);
return;
}
在此代码中,候选者是一个具有两个属性的结构:名称和投票 我需要程序打印得票数最高的名字,即使是 3-way tie
我在想我会遍历列表找到最大的 int,然后删除该 int 并再次遍历列表以查看是否有任何元素等于原始列表中的最大元素,如果是,则将名称添加到数组中并在结束打印所有名字
【问题讨论】:
-
您建议的解决方案听起来不错。您在实施过程中发现了哪些困难?