好的,我会计算距离.当找到匹配时,将有20个距离组将获得积分.如何避免为每个组写条件?
是否有捷径---
if (distance>0)and(distance<=10)
{
distance_group[1]=++1;
}
else
if (distance>10)and(distance<=20)
{
distance_group[2]=++1;
}
Run Code Online (Sandbox Code Playgroud)
等.....所有团体一直到400这样的数字
当找到一个接近的匹配时,每个组都获得积分,但我不想写出获得积分的所有组条件,我可能需要5000组而不是20组.
有任何想法吗?
您可以像这样计算组号:
int group_number = (distance-1)/10+1;
Run Code Online (Sandbox Code Playgroud)
然后递增该组中的计数:
++distance_group[group_number];
Run Code Online (Sandbox Code Playgroud)
如果距离== 1,你有(1-1)/10+1 == 1.
如果距离== 2,你有(2-1)/10+1 == 1.
...
如果距离== 9,你有(9-1)/10+1 == 1.
如果距离== 10,你有(10-1)/10+1 == 1.
如果距离== 11,你有(11-1)/10+1 == 2.
等等