【发布时间】:2018-02-23 08:10:11
【问题描述】:
我正在学习 C 测试,我正在完成这个练习,我不太确定我是否得到了正确的代码。伪代码是:显示函数int determineBest(Player playerM [], int iPlayerCnt) 的代码,该函数传递了一个玩家数组和玩家数量。 determineBest 返回投篮命中率最高的球员的下标(最高投篮次数/出手次数)。
示例:
Player playerM[] = { {"Lebron James", 10 ,30},
{"Tim Duncan", 17,20} ,
{"Kevin Durrant", 9,10}
};
对于数据,determinebest 将返回下标 2。
我不确定返回下标 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;
}
【问题讨论】:
-
首先缩进你的代码。不可读的代码是许多问题的根源。
-
“Lebron James”`有下标 0,“Tim Duncan”有下标 1 等等。
-
我为您格式化了您的代码。请在以后的帖子中自行格式化。如果它难以阅读和理解,您可能会获得较少的帮助