各位好
最近在寫一組根據速度判斷該亮指示的功能
由於速度和距離會形成一張表格並表格中會有對應值
ex
SPEED1  SPEED2  SPEED3  ...  SPEED10
V1       A11     A12     A13
V2       A21     A22     A23
V3       A31     A32     A33
.
.
.
V10
如果以判斷式if(V1<V<V2){} else if(V2<V<V3)....這種寫法
太過冗長不漂亮(功能是可以達到沒錯),且執行速度多少會有影響(我有至少100組要判斷)
想請教有無更好更精簡、執行更快的寫法
所有範圍都幫你照顧到了,該做的事就放在handler內吧
int V1 = 100, V2 = 200, V3 = 300;
int V[3] = { V1, V2, V3 };
const int length = sizeof(V) / sizeof(V[0]);
void handler(int i) {
	switch (i)
	{
	case 0:
		printf("0 < V <= %d\n", V[i]);
		break;
	case length:
		printf("%d < V\n", V[i - 1]);
		break;
	default:
		printf("%d < V <= %d\n", V[i - 1], V[i]);
		break;
	}
}
int main()
{
	int currentV = 200;
	int i = 0;
	for (i = 0; i < length; i++) {
		if (currentV - V[i] <= 0) {
			break;
		}
	}
	handler(i);
	system("PAUSE");
}