我怎样才能简单?我在L0到L9下有预定义的数字。当程序获得例如32的数字时,我需要在LX下将其写为L3并且在LY下将其写为L2。任何人都知道如何做到这一点?我需要从0到64形成它
if(number == 64){LX=L6;LY=L4;}
if(number == 63){LX=L6;LY=L3;}
if(number == 62){LX=L6;LY=L2;}
答案 0 :(得分:1)
您没有详细说明LX
,LY
和L0
.. L9
的类型,但是从我看到的情况来看,您希望使用number
的每个数字来查找相应的"预定义数字"然后将十位数放在LX
中,将数字放在LY
中。
一种直接的方法是使用开关明确地进行查找 在一个函数
/* Convert x (in [0..9]) to corresponding "predefined number" */
L_type get_L_num(int x)
{
switch(x) {
case 0: return L0;
...
case 9: return L9;
default: if needed, some error handling...
}
(其中L_type
是您预定义数字变量所属的任何类型)并将其用于每个数字,如
{LX = get_L_num(number/10]; LY = get_L_num[number%10]}
另一种方法是将L0..L9放在数组Lnumbers
中,然后将其索引为
{LX = Lnumbers[number/10]; LY = Lnumbers[number%10]}
并且,如果需要,可以为number
添加范围检查。
请注意,仅使用/10
查找数字%10
以查找数字number
假设{{1}}位于[0..99],(应该是因为你问过[0..64])