首页 > 代码库 > 将数字映射到字母上?.xml

将数字映射到字母上?.xml

<style type="text/css"> pre{ line-height:1; color:#800080; background-color:#c0dcc0; font-size:16px;}.sysFunc{color:#000080;font-style:italic;font-weight:bold;} .selfFuc{color:#901d36;} .bool{color:#f70483;} .condition{color:#000080;font-weight:bold;} .key{color:#800080;} .var{color:#800000;font-style:italic;} .Digit{color:#68084f;font-weight:bold;} .includePre{color:#800080;} .operator?{color:#ff00ff;font-weight:bold;} </style>

映射成?A1------A20

??????????????B1------B20
??????????????。。。
??????????????Z1------Z20

这种形式

?

数字从0开始编号:

则:??0----19???对应??A1-----A20

??????????20---39??对应?B1-----B20
?
?
????????#define?CHAR_NUM?20
????????int??nIndex=300;????
???????//?确保?i??处在?0-----CHAR_NUM*26-1?之间
????????int?i=nIndex%(CHAR_NUM*26);
????????//数字所对应的字母位?表示?该数字所对应的字母之前有nCharPosition个字母,?而该位置的字母为:?0x41+nCharPosition
????????int??nCharPosition=?i/CHAR_NUM;??????
???????//数字所对应的数字位??范围【1,CHAR_NUM】
????????int?nNum=i%CHAR_NUM+1;
??????

 

????#define?CHAR_NUM?20??
??????
????int??nIndex=300;??
??????
????//?确保?i??处在?0-----CHAR_NUM*26-1?之间??
????int?i=nIndex%(CHAR_NUM*26);??
????//数字所对应的字母位?表示?该数字所对应的字母之前有nCharPosition个字母,?而该位置的字母为:?0x41+nCharPosition??
????int??nCharPosition=?i/CHAR_NUM;??
????char?p=0x41+nCharPosition;??
??????
????//数字所对应的数字位??范围【1,CHAR_NUM】??
????int?nNum=i%CHAR_NUM+1;??
?
?数字从1开始编号??:?

则:??1----20???对应??A1-----A20

??????????21---40??对应?B1-----B20
?

上述程序是从0开始编码的,??而此时的数字是从1开始编码,如何修改程序?

因为?1----20???对应??A1-----A20

??????????21---40??对应?B1-----B20

的规律不好找,??因此我们要想个方法,即利用上个规律,又能从1开始编码。

?

方法:

???????1)?先将数字进行对应

1---20???对应为0---19???

???????2)?然后应用上个程序??将0-19??对应为A1-A20??即是将?原序号的?1-20--对应为A1-A20
?

 

????#define?CHAR_NUM?20??
??????
????//从1?开始编号??
????int??nIndex=300;??
??????
????//nIndex?从0开始编号时,所对应的数值??
????int??nCorrespondingIndex=nIndex-1;??
??????
??????
????///////////////////////////////?映射规则相同??///////////////////////////////////////////??
??????
????//?确保?i??处在?0-----CHAR_NUM*26-1?之间??
????int?i=nCorrespondingIndex%(CHAR_NUM*26);??
????//数字所对应的字母位?表示?该数字所对应的字母之前有nCharPosition个字母,?而该位置的字母为:?0x41+nCharPosition??
????int??nCharPosition=?i/CHAR_NUM;??
????char?p=0x41+nCharPosition;??
??????
????//数字所对应的数字位??范围【1,CHAR_NUM】??
????int?nNum=i%CHAR_NUM+1;??
?

总结:

????????????数字从1开始编号,对其进行映射时,规则不好找
????????????这时改怎么办?
????????????转换下思路,我们先不找规律,?而是先将数字处理下,?将其等价映射为另一个序列。
????????????如果,这个序列的规律很好找,则我们直接使用这个序列的规律即可。
???????????
????????????这种,间接解决问题的策略是一种什么思想呢?
????????????我想,应该是处理之前的转换思想,对数据预处理,?将难处理的问题?等价转换为相对容易处理的问题
?

本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。

将数字映射到字母上?.xml