函数代码

Code for Function

我正在学习 C 的测试,我正在完成这个练习,我不太确定我是否得到了正确的代码。伪代码是:显示函数的代码
int determineBest(Player playerM [], int iPlayerCnt) 传递给玩家数组和玩家计数。 determineBest returns 最佳投篮命中率(最高投篮命中数/投篮尝试次数)的球员的下标。 示例:

Player playerM[] = { {"Lebron James", 10 ,30}, 
                     {"Tim Duncan", 17,20} ,
                     {"Kevin Durrant", 9,10}
                   };

对于数据,determinebest会return下标2。

我不确定 returning 下标 2

是什么意思

代码

tydef struct
{ 
 char szName[30];
  int iShotMade;
  int iShotAttempt;
} Player;

int determineBest(Player playerM [], int iPlayerCnt)
{
   int i, iIndex= -1;
   double dCurrent, dBest = 0.0;

   for(i = 0; i < iPlayerCnt, i++)
   {
      if(Player[i].iShotAttempt == 0)
         {continue}

      dcurrent= (double)(PlayerM[i].iShotMade/PlayerM[i].iShotAttempt);

      if(dcurrent > dbest)
         dBest=dCurrent;

      iIndex= i;
   }

   return iIndex;
}

returning Subscript 2 表示它在数组中找到最佳玩家的元素。

0 --> {"Lebron James", 10 ,30}, 
1 --> {"Tim Duncan", 17,20} ,
2 --> {"Kevin Durrant", 9,10}

您应该按以下方式调用它

int best = determineBest(playerM [], iPlayerCnt);

请注意,我们看不到您程序的 main(),因此 iPlayerCnt 实际上可能是 main() 中的一个不同变量,它会跟踪您的程序大小数组。

然后您可以通过

访问最佳球员的信息
playerM[best]

printf("%s is the best player\n", playerM[best].szName);

determineBest() returns the subscript of the player with the best shooting percentage(Highest shots made / shots attempted)

Player playerM[] = { {"Lebron James", 10 ,30}, 
                     {"Tim Duncan", 17,20} ,
                     {"Kevin Durrant", 9,10}
                   };

For the data, determinebest() would return subscript 2.

I am not sure what does it means by returning Subscript 2

@MichaelWalz 举例说明了下标。在这种情况下,函数 determinebest() 确定应该返回 "subscript 2"(意味着它 returns 整数值 2),因为 {"Kevin Durrant", 9,10}

the player with the best shooting percentage(Highest shots made / shots attempted)

如果不清楚,请直说,我们可以进一步解释。